;--- include file created by h2incx v0.99.20 (copyright 2005-2009 japheth)
;--- source file: D:\Microsoft SDK\Include\CommCtrl.h, last modified: 5/30/2001 19:20
;--- cmdline used for creation: -d3 -i -o Asm commctrl.h

ifndef _INC_COMMCTRL
_INC_COMMCTRL	EQU	<>
ifndef _WINRESRC_
ifndef _WIN32_IE
_WIN32_IE	EQU	0501h
else 
if (_WIN32_IE lt 0400h) AND defined(_WIN32_WINNT) AND (_WIN32_WINNT ge 0500h)
.err <_WIN32_IE setting conflicts with _WIN32_WINNT setting >
endif 
endif 
endif 
ifndef _HRESULT_DEFINED
_HRESULT_DEFINED	EQU	<>
HRESULT typedef SDWORD
endif 
ifndef NOUSER
ifndef WINCOMMCTRLAPI
ifndef defined
defined macro x
ifdef x
  exitm <-1>
else
  exitm <0>
endif
endm
endif
if 0 eq defined(_COMCTL32_) AND defined(_WIN32)
WINCOMMCTRLAPI	EQU	<DECLSPEC_IMPORT>
else 
WINCOMMCTRLAPI	EQU	<>
endif 
endif 
ifndef DUMMYUNIONNAME
ifdef NONAMELESSUNION
DUMMYUNIONNAME	EQU	<u>
DUMMYUNIONNAME2	EQU	<u2>
DUMMYUNIONNAME3	EQU	<u3>
DUMMYUNIONNAME4	EQU	<u4>
DUMMYUNIONNAME5	EQU	<u5>
else 
DUMMYUNIONNAME	EQU	<>
DUMMYUNIONNAME2	EQU	<>
DUMMYUNIONNAME3	EQU	<>
DUMMYUNIONNAME4	EQU	<>
DUMMYUNIONNAME5	EQU	<>
endif 
endif 
ifdef __cplusplus
;extern "C"
;{
endif 
	include prsht.inc
ifndef SNDMSG
ifdef __cplusplus
ifndef _MAC
SNDMSG	EQU	<:: SendMessage>
else 
SNDMSG	EQU	<:: AfxSendMessage>
endif 
else 
ifndef _MAC
SNDMSG	EQU	<SendMessage>
else 
SNDMSG	EQU	<AfxSendMessage>
endif 
endif 
endif 
ifdef _MAC
ifndef RC_INVOKED
ifndef _WLM_NOFORCE_LIBS
ifndef _WLMDLL
ifdef _DEBUG
;#pragma comment ( lib , "comctld.lib" ) 
else 
;#pragma comment ( lib , "comctl.lib" ) 
endif 
;#pragma comment ( linker , "/macres:comctl.rsc" ) 
else 
ifdef _DEBUG
;#pragma comment ( lib , "msvcctld.lib" ) 
else 
;#pragma comment ( lib , "msvcctl.lib" ) 
endif 
endif 
endif 
endif 
endif 
@DefProto WINCOMMCTRLAPI, InitCommonControls, stdcall, , <>, 0
if (_WIN32_IE ge 0300h)
INITCOMMONCONTROLSEX	struct 
dwSize	DWORD	?
dwICC	DWORD	?
INITCOMMONCONTROLSEX	ends

LPINITCOMMONCONTROLSEX typedef ptr INITCOMMONCONTROLSEX

ICC_LISTVIEW_CLASSES	EQU	00000001h
ICC_TREEVIEW_CLASSES	EQU	00000002h
ICC_BAR_CLASSES	EQU	00000004h
ICC_TAB_CLASSES	EQU	00000008h
ICC_UPDOWN_CLASS	EQU	00000010h
ICC_PROGRESS_CLASS	EQU	00000020h
ICC_HOTKEY_CLASS	EQU	00000040h
ICC_ANIMATE_CLASS	EQU	00000080h
ICC_WIN95_CLASSES	EQU	000000FFh
ICC_DATE_CLASSES	EQU	00000100h
ICC_USEREX_CLASSES	EQU	00000200h
ICC_COOL_CLASSES	EQU	00000400h
if (_WIN32_IE ge 0400h)
ICC_INTERNET_CLASSES	EQU	00000800h
ICC_PAGESCROLLER_CLASS	EQU	00001000h
ICC_NATIVEFNTCTL_CLASS	EQU	00002000h
endif 
if (_WIN32_WINNT ge 501h)
ICC_STANDARD_CLASSES	EQU	00004000h
ICC_LINK_CLASS	EQU	00008000h
endif 
@DefProto WINCOMMCTRLAPI, InitCommonControlsEx, stdcall, , <:LPINITCOMMONCONTROLSEX>, 4
endif 
ODT_HEADER	EQU	100
ODT_TAB	EQU	101
ODT_LISTVIEW	EQU	102
LVM_FIRST	EQU	1000h
TV_FIRST	EQU	1100h
HDM_FIRST	EQU	1200h
TCM_FIRST	EQU	1300h
if (_WIN32_IE ge 0400h)
PGM_FIRST	EQU	1400h
if (_WIN32_WINNT ge 501h)
ECM_FIRST	EQU	1500h
BCM_FIRST	EQU	1600h
CBM_FIRST	EQU	1700h
endif 
CCM_FIRST	EQU	2000h
CCM_LAST	EQU	( CCM_FIRST + 200h )
CCM_SETBKCOLOR	EQU	( CCM_FIRST + 1 )
COLORSCHEME	struct 
dwSize	DWORD	?
clrBtnHighlight	COLORREF	?
clrBtnShadow	COLORREF	?
COLORSCHEME	ends

LPCOLORSCHEME typedef ptr COLORSCHEME

CCM_SETCOLORSCHEME	EQU	( CCM_FIRST + 2 )
CCM_GETCOLORSCHEME	EQU	( CCM_FIRST + 3 )
CCM_GETDROPTARGET	EQU	( CCM_FIRST + 4 )
CCM_SETUNICODEFORMAT	EQU	( CCM_FIRST + 5 )
CCM_GETUNICODEFORMAT	EQU	( CCM_FIRST + 6 )
if (_WIN32_IE ge 0500h)
if (_WIN32_WINNT ge 501h)
COMCTL32_VERSION	EQU	6
else 
COMCTL32_VERSION	EQU	5
endif 
CCM_SETVERSION	EQU	( CCM_FIRST + 7h )
CCM_GETVERSION	EQU	( CCM_FIRST + 8h )
CCM_SETNOTIFYWINDOW	EQU	( CCM_FIRST + 9h )
if (_WIN32_WINNT ge 501h)
CCM_SETWINDOWTHEME	EQU	( CCM_FIRST + 0bh )
CCM_DPISCALE	EQU	( CCM_FIRST + 0ch )
endif 
endif 
endif 
if (_WIN32_IE ge 0400h)
INFOTIPSIZE	EQU	1024
endif 
HANDLE_WM_NOTIFY macro hwnd,wParam,lParam,fn
	exitm <invoke fn, ( hwnd ) , ( wParam ) , NMHDR ptr lParam>
	endm
FORWARD_WM_NOTIFY macro hwnd,idFrom,pnmhdr,fn
	exitm <invoke fn, ( hwnd ) , WM_NOTIFY , ( idFrom ) , ( pnmhdr )>
	endm
NM_OUTOFMEMORY	EQU	( NM_FIRST - 1 )
NM_CLICK	EQU	( NM_FIRST - 2 )
NM_DBLCLK	EQU	( NM_FIRST - 3 )
NM_RETURN	EQU	( NM_FIRST - 4 )
NM_RCLICK	EQU	( NM_FIRST - 5 )
NM_RDBLCLK	EQU	( NM_FIRST - 6 )
NM_SETFOCUS	EQU	( NM_FIRST - 7 )
NM_KILLFOCUS	EQU	( NM_FIRST - 8 )
if (_WIN32_IE ge 0300h)
NM_CUSTOMDRAW	EQU	( NM_FIRST - 12 )
NM_HOVER	EQU	( NM_FIRST - 13 )
endif 
if (_WIN32_IE ge 0400h)
NM_NCHITTEST	EQU	( NM_FIRST - 14 )
NM_KEYDOWN	EQU	( NM_FIRST - 15 )
NM_RELEASEDCAPTURE	EQU	( NM_FIRST - 16 )
NM_SETCURSOR	EQU	( NM_FIRST - 17 )
NM_CHAR	EQU	( NM_FIRST - 18 )
endif 
if (_WIN32_IE ge 0401h)
NM_TOOLTIPSCREATED	EQU	( NM_FIRST - 19 )
endif 
if (_WIN32_IE ge 0500h)
NM_LDOWN	EQU	( NM_FIRST - 20 )
NM_RDOWN	EQU	( NM_FIRST - 21 )
NM_THEMECHANGED	EQU	( NM_FIRST - 22 )
endif 
ifndef CCSIZEOF_STRUCT
CCSIZEOF_STRUCT macro structname, member
	exitm <structname.member>
	endm
endif 
if (_WIN32_IE ge 0401h)
NMTOOLTIPSCREATED	struct 
hdr	NMHDR	<>
hwndToolTips	HWND	?
NMTOOLTIPSCREATED	ends

LPNMTOOLTIPSCREATED typedef ptr NMTOOLTIPSCREATED

endif 
if (_WIN32_IE ge 0400h)
NMMOUSE	struct 
hdr	NMHDR	<>
dwItemSpec	DWORD_PTR	?
dwItemData	DWORD_PTR	?
pt	POINT	<>
dwHitInfo	LPARAM	?
NMMOUSE	ends

LPNMMOUSE typedef ptr NMMOUSE

NMCLICK typedef NMMOUSE
LPNMCLICK typedef LPNMMOUSE
NMOBJECTNOTIFY	struct 
hdr	NMHDR	<>
iItem	DWORD	?
ifdef __IID_DEFINED__
piid	DWORD	?
else 
piid	DWORD	?
endif 
pObject	DWORD	?
hResult	HRESULT	?
dwFlags	DWORD	?
NMOBJECTNOTIFY	ends

LPNMOBJECTNOTIFY typedef ptr NMOBJECTNOTIFY

NMKEY	struct 
hdr	NMHDR	<>
nVKey	DWORD	?
uFlags	DWORD	?
NMKEY	ends

LPNMKEY typedef ptr NMKEY

NMCHAR	struct 
hdr	NMHDR	<>
ch_	DWORD	?
dwItemPrev	DWORD	?
dwItemNext	DWORD	?
NMCHAR	ends

LPNMCHAR typedef ptr NMCHAR

endif 
NM_FIRST	EQU	( 0 - 0 )
NM_LAST	EQU	( 0 - 99 )
LVN_FIRST	EQU	( 0 - 100 )
LVN_LAST	EQU	( 0 - 199 )
HDN_FIRST	EQU	( 0 - 300 )
HDN_LAST	EQU	( 0 - 399 )
TVN_FIRST	EQU	( 0 - 400 )
TVN_LAST	EQU	( 0 - 499 )
TTN_FIRST	EQU	( 0 - 520 )
TTN_LAST	EQU	( 0 - 549 )
TCN_FIRST	EQU	( 0 - 550 )
TCN_LAST	EQU	( 0 - 580 )
CDN_FIRST	EQU	( 0 - 601 )
CDN_LAST	EQU	( 0 - 699 )
TBN_FIRST	EQU	( 0 - 700 )
TBN_LAST	EQU	( 0 - 720 )
UDN_FIRST	EQU	( 0 - 721 )
UDN_LAST	EQU	( 0 - 740 )
if (_WIN32_IE ge 0300h)
MCN_FIRST	EQU	( 0 - 750 )
MCN_LAST	EQU	( 0 - 759 )
DTN_FIRST	EQU	( 0 - 760 )
DTN_LAST	EQU	( 0 - 799 )
CBEN_FIRST	EQU	( 0 - 800 )
CBEN_LAST	EQU	( 0 - 830 )
RBN_FIRST	EQU	( 0 - 831 )
RBN_LAST	EQU	( 0 - 859 )
endif 
if (_WIN32_IE ge 0400h)
IPN_FIRST	EQU	( 0 - 860 )
IPN_LAST	EQU	( 0 - 879 )
SBN_FIRST	EQU	( 0 - 880 )
SBN_LAST	EQU	( 0 - 899 )
PGN_FIRST	EQU	( 0 - 900 )
PGN_LAST	EQU	( 0 - 950 )
endif 
if (_WIN32_IE ge 0500h)
ifndef WMN_FIRST
WMN_FIRST	EQU	( 0 - 1000 )
WMN_LAST	EQU	( 0 - 1200 )
endif 
endif 
if (_WIN32_WINNT ge 0501h)
BCN_FIRST	EQU	( 0 - 1250 )
BCN_LAST	EQU	( 0 - 1350 )
endif 
MSGF_COMMCTRL_BEGINDRAG	EQU	4200h
MSGF_COMMCTRL_SIZEHEADER	EQU	4201h
MSGF_COMMCTRL_DRAGSELECT	EQU	4202h
MSGF_COMMCTRL_TOOLBARCUST	EQU	4203h
if (_WIN32_IE ge 0300h)
CDRF_DODEFAULT	EQU	00000000h
CDRF_NEWFONT	EQU	00000002h
CDRF_SKIPDEFAULT	EQU	00000004h
CDRF_NOTIFYPOSTPAINT	EQU	00000010h
CDRF_NOTIFYITEMDRAW	EQU	00000020h
if (_WIN32_IE ge 0400h)
CDRF_NOTIFYSUBITEMDRAW	EQU	00000020h
endif 
CDRF_NOTIFYPOSTERASE	EQU	00000040h
CDDS_PREPAINT	EQU	00000001h
CDDS_POSTPAINT	EQU	00000002h
CDDS_PREERASE	EQU	00000003h
CDDS_POSTERASE	EQU	00000004h
CDDS_ITEM	EQU	00010000h
CDDS_ITEMPREPAINT	EQU	( CDDS_ITEM  or  CDDS_PREPAINT )
CDDS_ITEMPOSTPAINT	EQU	( CDDS_ITEM  or  CDDS_POSTPAINT )
CDDS_ITEMPREERASE	EQU	( CDDS_ITEM  or  CDDS_PREERASE )
CDDS_ITEMPOSTERASE	EQU	( CDDS_ITEM  or  CDDS_POSTERASE )
if (_WIN32_IE ge 0400h)
CDDS_SUBITEM	EQU	00020000h
endif 
CDIS_SELECTED	EQU	0001h
CDIS_GRAYED	EQU	0002h
CDIS_DISABLED	EQU	0004h
CDIS_CHECKED	EQU	0008h
CDIS_FOCUS	EQU	0010h
CDIS_DEFAULT	EQU	0020h
CDIS_HOT	EQU	0040h
CDIS_MARKED	EQU	0080h
CDIS_INDETERMINATE	EQU	0100h
if (_WIN32_WINNT ge 501h)
CDIS_SHOWKEYBOARDCUES	EQU	0200h
endif 
NMCUSTOMDRAW	struct 
hdr	NMHDR	<>
dwDrawStage	DWORD	?
hdc	HDC	?
rc	RECT	<>
dwItemSpec	DWORD_PTR	?
uItemState	DWORD	?
lItemlParam	LPARAM	?
NMCUSTOMDRAW	ends

LPNMCUSTOMDRAW typedef ptr NMCUSTOMDRAW

NMTTCUSTOMDRAW	struct 
nmcd	NMCUSTOMDRAW	<>
uDrawFlags	DWORD	?
NMTTCUSTOMDRAW	ends

LPNMTTCUSTOMDRAW typedef ptr NMTTCUSTOMDRAW

endif 
ifndef NOIMAGEAPIS
CLR_NONE	EQU	0FFFFFFFFh
CLR_DEFAULT	EQU	0FF000000h
ifndef HIMAGELIST
HIMAGELIST typedef ptr _IMAGELIST

endif 
ifndef IMAGELISTDRAWPARAMS
if (_WIN32_IE ge 0300h)
IMAGELISTDRAWPARAMS	struct 
cbSize	DWORD	?
himl	HIMAGELIST	?
i	DWORD	?
hdcDst	HDC	?
x	DWORD	?
y	DWORD	?
cx_	DWORD	?
cy	DWORD	?
xBitmap	DWORD	?
yBitmap	DWORD	?
rgbBk	COLORREF	?
rgbFg	COLORREF	?
fStyle	DWORD	?
dwRop	DWORD	?
if (_WIN32_WINNT ge 501h)
fState	DWORD	?
ifdef _WIN64
Frame_	DWORD	?
else
Frame	DWORD	?
endif
crEffect	COLORREF	?
endif 
IMAGELISTDRAWPARAMS	ends

LPIMAGELISTDRAWPARAMS typedef ptr IMAGELISTDRAWPARAMS

IMAGELISTDRAWPARAMS_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( IMAGELISTDRAWPARAMS , dwRop )>
endif 
endif 
ILC_MASK	EQU	00000001h
ILC_COLOR	EQU	00000000h
ILC_COLORDDB	EQU	000000FEh
ILC_COLOR4	EQU	00000004h
ILC_COLOR8	EQU	00000008h
ILC_COLOR16	EQU	00000010h
ILC_COLOR24	EQU	00000018h
ILC_COLOR32	EQU	00000020h
ILC_PALETTE	EQU	00000800h
if (_WIN32_WINNT ge 501h)
ILC_MIRROR	EQU	00002000h
ILC_PERITEMMIRROR	EQU	00008000h
endif 
@DefProto WINCOMMCTRLAPI, ImageList_Create, stdcall, , <:DWORD, :DWORD, :DWORD, :DWORD, :DWORD>, 20
@DefProto WINCOMMCTRLAPI, ImageList_Destroy, stdcall, , <:HIMAGELIST>, 4
@DefProto WINCOMMCTRLAPI, ImageList_GetImageCount, stdcall, , <:HIMAGELIST>, 4
if (_WIN32_IE ge 0300h)
@DefProto WINCOMMCTRLAPI, ImageList_SetImageCount, stdcall, , <:HIMAGELIST, :DWORD>, 8
endif 
@DefProto WINCOMMCTRLAPI, ImageList_Add, stdcall, , <:HIMAGELIST, :HBITMAP, :HBITMAP>, 12
@DefProto WINCOMMCTRLAPI, ImageList_ReplaceIcon, stdcall, , <:HIMAGELIST, :DWORD, :HICON>, 12
@DefProto WINCOMMCTRLAPI, ImageList_SetBkColor, stdcall, , <:HIMAGELIST, :COLORREF>, 8
@DefProto WINCOMMCTRLAPI, ImageList_GetBkColor, stdcall, , <:HIMAGELIST>, 4
@DefProto WINCOMMCTRLAPI, ImageList_SetOverlayImage, stdcall, , <:HIMAGELIST, :DWORD, :DWORD>, 12
ImageList_AddIcon macro himl,hicon
	exitm <ImageList_ReplaceIcon, himl , - 1 , hicon >
	endm
ILD_NORMAL	EQU	00000000h
ILD_TRANSPARENT	EQU	00000001h
ILD_MASK	EQU	00000010h
ILD_IMAGE	EQU	00000020h
if (_WIN32_IE ge 0300h)
ILD_ROP	EQU	00000040h
endif 
ILD_BLEND25	EQU	00000002h
ILD_BLEND50	EQU	00000004h
ILD_OVERLAYMASK	EQU	00000F00h
INDEXTOOVERLAYMASK macro i
	exitm <( ( i )  shl  8 ) >
	endm
ILD_PRESERVEALPHA	EQU	00001000h
ILD_SCALE	EQU	00002000h
ILD_DPISCALE	EQU	00004000h
ILD_SELECTED	EQU	<ILD_BLEND50>
ILD_FOCUS	EQU	<ILD_BLEND25>
ILD_BLEND	EQU	<ILD_BLEND50>
CLR_HILIGHT	EQU	<CLR_DEFAULT>
ILS_NORMAL	EQU	00000000h
ILS_GLOW	EQU	00000001h
ILS_SHADOW	EQU	00000002h
ILS_SATURATE	EQU	00000004h
ILS_ALPHA	EQU	00000008h
@DefProto WINCOMMCTRLAPI, ImageList_Draw, stdcall, , <:HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD>, 24
ifdef _WIN32
@DefProto WINCOMMCTRLAPI, ImageList_Replace, stdcall, , <:HIMAGELIST, :DWORD, :HBITMAP, :HBITMAP>, 16
@DefProto WINCOMMCTRLAPI, ImageList_AddMasked, stdcall, , <:HIMAGELIST, :HBITMAP, :COLORREF>, 12
@DefProto WINCOMMCTRLAPI, ImageList_DrawEx, stdcall, , <:HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD, :DWORD, :COLORREF, :COLORREF, :DWORD>, 40
if (_WIN32_IE ge 0300h)
@DefProto WINCOMMCTRLAPI, ImageList_DrawIndirect, stdcall, , <:ptr IMAGELISTDRAWPARAMS>, 4
endif 
@DefProto WINCOMMCTRLAPI, ImageList_Remove, stdcall, , <:HIMAGELIST, :DWORD>, 8
@DefProto WINCOMMCTRLAPI, ImageList_GetIcon, stdcall, , <:HIMAGELIST, :DWORD, :DWORD>, 12
@DefProto WINCOMMCTRLAPI, ImageList_LoadImageA, stdcall, , <:HINSTANCE, :LPSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD>, 28
@DefProto WINCOMMCTRLAPI, ImageList_LoadImageW, stdcall, , <:HINSTANCE, :LPWSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD>, 28
ifdef UNICODE
ImageList_LoadImage	EQU	<ImageList_LoadImageW>
else 
ImageList_LoadImage	EQU	<ImageList_LoadImageA>
endif 
if (_WIN32_IE ge 0300h)
ILCF_MOVE	EQU	00000000h
ILCF_SWAP	EQU	00000001h
@DefProto WINCOMMCTRLAPI, ImageList_Copy, stdcall, , <:HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD>, 20
endif 
@DefProto WINCOMMCTRLAPI, ImageList_BeginDrag, stdcall, , <:HIMAGELIST, :DWORD, :DWORD, :DWORD>, 16
@DefProto WINCOMMCTRLAPI, ImageList_EndDrag, stdcall, , <>, 0
@DefProto WINCOMMCTRLAPI, ImageList_DragEnter, stdcall, , <:HWND, :DWORD, :DWORD>, 12
@DefProto WINCOMMCTRLAPI, ImageList_DragLeave, stdcall, , <:HWND>, 4
@DefProto WINCOMMCTRLAPI, ImageList_DragMove, stdcall, , <:DWORD, :DWORD>, 8
@DefProto WINCOMMCTRLAPI, ImageList_SetDragCursorImage, stdcall, , <:HIMAGELIST, :DWORD, :DWORD, :DWORD>, 16
@DefProto WINCOMMCTRLAPI, ImageList_DragShowNolock, stdcall, , <:BOOL>, 4
@DefProto WINCOMMCTRLAPI, ImageList_GetDragImage, stdcall, , <:ptr POINT, :ptr POINT>, 8
ImageList_RemoveAll macro himl
	exitm <ImageList_Remove, himl , - 1 >
	endm
ImageList_ExtractIcon macro hi,himl,i
	exitm <ImageList_GetIcon, himl , i , 0 >
	endm
ImageList_LoadBitmap macro hi,lpbmp,cx_,cGrow,crMask
	exitm <ImageList_LoadImage, hi , lpbmp , cx_ , cGrow , crMask , IMAGE_BITMAP , 0 >
	endm
ifdef __IStream_INTERFACE_DEFINED__
@DefProto WINCOMMCTRLAPI, ImageList_Read, stdcall, , <:LPSTREAM>, 4
@DefProto WINCOMMCTRLAPI, ImageList_Write, stdcall, , <:HIMAGELIST, :LPSTREAM>, 8
if (_WIN32_WINNT ge 0501h)
ILP_NORMAL	EQU	0
ILP_DOWNLEVEL	EQU	1
@DefProto WINCOMMCTRLAPI, ImageList_ReadEx, stdcall, , <:DWORD, :LPSTREAM, :REFIID, :ptr PVOID>, 16
@DefProto WINCOMMCTRLAPI, ImageList_WriteEx, stdcall, , <:HIMAGELIST, :DWORD, :LPSTREAM>, 12
endif 
endif 
ifndef IMAGEINFO
IMAGEINFO	struct 
hbmImage	HBITMAP	?
hbmMask	HBITMAP	?
Unused1	DWORD	?
Unused2	DWORD	?
rcImage	RECT	<>
IMAGEINFO	ends

LPIMAGEINFO typedef ptr IMAGEINFO

endif 
@DefProto WINCOMMCTRLAPI, ImageList_GetIconSize, stdcall, , <:HIMAGELIST, :ptr DWORD, :ptr DWORD>, 12
@DefProto WINCOMMCTRLAPI, ImageList_SetIconSize, stdcall, , <:HIMAGELIST, :DWORD, :DWORD>, 12
@DefProto WINCOMMCTRLAPI, ImageList_GetImageInfo, stdcall, , <:HIMAGELIST, :DWORD, :ptr IMAGEINFO>, 12
@DefProto WINCOMMCTRLAPI, ImageList_Merge, stdcall, , <:HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD, :DWORD>, 24
if (_WIN32_IE ge 0400h)
@DefProto WINCOMMCTRLAPI, ImageList_Duplicate, stdcall, , <:HIMAGELIST>, 4
endif 
endif 
endif 
ifndef NOHEADER
ifdef _WIN32
WC_HEADERA	EQU	<"SysHeader32">
WC_HEADERW	EQU	<L("SysHeader32")>
ifdef UNICODE
WC_HEADER	EQU	<WC_HEADERW>
else 
WC_HEADER	EQU	<WC_HEADERA>
endif 
else 
WC_HEADER	EQU	<"SysHeader">
endif 
HDS_HORZ	EQU	0000h
HDS_BUTTONS	EQU	0002h
if (_WIN32_IE ge 0300h)
HDS_HOTTRACK	EQU	0004h
endif 
HDS_HIDDEN	EQU	0008h
if (_WIN32_IE ge 0300h)
HDS_DRAGDROP	EQU	0040h
HDS_FULLDRAG	EQU	0080h
endif 
if (_WIN32_IE ge 0500h)
HDS_FILTERBAR	EQU	0100h
endif 
if (_WIN32_WINNT ge 501h)
HDS_FLAT	EQU	0200h
endif 
if (_WIN32_IE ge 0500h)
HDFT_ISSTRING	EQU	0000h
HDFT_ISNUMBER	EQU	0001h
HDFT_HASNOVALUE	EQU	8000h
ifdef UNICODE
HD_TEXTFILTER	EQU	<HD_TEXTFILTERW>
HDTEXTFILTER	EQU	<HD_TEXTFILTERW>
LPHD_TEXTFILTER	EQU	<LPHD_TEXTFILTERW>
LPHDTEXTFILTER	EQU	<LPHD_TEXTFILTERW>
else 
HD_TEXTFILTER	EQU	<HD_TEXTFILTERA>
HDTEXTFILTER	EQU	<HD_TEXTFILTERA>
LPHD_TEXTFILTER	EQU	<LPHD_TEXTFILTERA>
LPHDTEXTFILTER	EQU	<LPHD_TEXTFILTERA>
endif 
HD_TEXTFILTERA	struct 
pszText	LPSTR	?
cchTextMax	DWORD	?
HD_TEXTFILTERA	ends

LPHD_TEXTFILTERA typedef ptr HD_TEXTFILTERA

HD_TEXTFILTERW	struct 
pszText	LPWSTR	?
cchTextMax	DWORD	?
HD_TEXTFILTERW	ends

LPHD_TEXTFILTERW typedef ptr HD_TEXTFILTERW

endif 
if (_WIN32_IE ge 0300h)
HD_ITEMA	EQU	<HDITEMA>
HD_ITEMW	EQU	<HDITEMW>
else 
HDITEMW	EQU	<HD_ITEMW>
HDITEMA	EQU	<HD_ITEMA>
endif 
HD_ITEM	EQU	<HDITEM>
HDITEMA	struct 
mask_	DWORD	?
cxy	DWORD	?
pszText	LPSTR	?
hbm	HBITMAP	?
cchTextMax	DWORD	?
fmt	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
if (_WIN32_IE ge 0500h)
type_	DWORD	?
pvFilter	DWORD	?
endif 
HDITEMA	ends

LPHDITEMA typedef ptr HDITEMA

HDITEMA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( HDITEMA , lParam )>
HDITEMW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( HDITEMW , lParam )>
HDITEMW	struct 
mask_	DWORD	?
cxy	DWORD	?
pszText	LPWSTR	?
hbm	HBITMAP	?
cchTextMax	DWORD	?
fmt	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
if (_WIN32_IE ge 0500h)
type_	DWORD	?
pvFilter	DWORD	?
endif 
HDITEMW	ends

LPHDITEMW typedef ptr HDITEMW

ifdef UNICODE
HDITEM	EQU	<HDITEMW>
LPHDITEM	EQU	<LPHDITEMW>
HDITEM_V1_SIZE	EQU	<HDITEMW_V1_SIZE>
else 
HDITEM	EQU	<HDITEMA>
LPHDITEM	EQU	<LPHDITEMA>
HDITEM_V1_SIZE	EQU	<HDITEMA_V1_SIZE>
endif 
HDI_WIDTH	EQU	0001h
HDI_HEIGHT	EQU	<HDI_WIDTH>
HDI_TEXT	EQU	0002h
HDI_FORMAT	EQU	0004h
HDI_LPARAM	EQU	0008h
HDI_BITMAP	EQU	0010h
if (_WIN32_IE ge 0300h)
HDI_IMAGE	EQU	0020h
HDI_DI_SETITEM	EQU	0040h
HDI_ORDER	EQU	0080h
endif 
if (_WIN32_IE ge 0500h)
HDI_FILTER	EQU	0100h
endif 
HDF_LEFT	EQU	0000h
HDF_RIGHT	EQU	0001h
HDF_CENTER	EQU	0002h
HDF_JUSTIFYMASK	EQU	0003h
HDF_RTLREADING	EQU	0004h
HDF_OWNERDRAW	EQU	8000h
HDF_STRING	EQU	4000h
HDF_BITMAP	EQU	2000h
if (_WIN32_IE ge 0300h)
HDF_BITMAP_ON_RIGHT	EQU	1000h
HDF_IMAGE	EQU	0800h
endif 
if (_WIN32_WINNT ge 501h)
HDF_SORTUP	EQU	0400h
HDF_SORTDOWN	EQU	0200h
endif 
HDM_GETITEMCOUNT	EQU	( HDM_FIRST + 0 )
Header_GetItemCount macro hwndHD
	exitm <SNDMSG ( ( hwndHD ) , HDM_GETITEMCOUNT , 0 , 0 ) >
	endm
HDM_INSERTITEMA	EQU	( HDM_FIRST + 1 )
HDM_INSERTITEMW	EQU	( HDM_FIRST + 10 )
ifdef UNICODE
HDM_INSERTITEM	EQU	<HDM_INSERTITEMW>
else 
HDM_INSERTITEM	EQU	<HDM_INSERTITEMA>
endif 
Header_InsertItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_INSERTITEM , ( i ) , <phdi> ) >
	endm
HDM_DELETEITEM	EQU	( HDM_FIRST + 2 )
Header_DeleteItem macro hwndHD,i
	exitm <SNDMSG ( ( hwndHD ) , HDM_DELETEITEM , ( i ) , 0 ) >
	endm
HDM_GETITEMA	EQU	( HDM_FIRST + 3 )
HDM_GETITEMW	EQU	( HDM_FIRST + 11 )
ifdef UNICODE
HDM_GETITEM	EQU	<HDM_GETITEMW>
else 
HDM_GETITEM	EQU	<HDM_GETITEMA>
endif 
Header_GetItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_GETITEM , ( i ) , <phdi> ) >
	endm
HDM_SETITEMA	EQU	( HDM_FIRST + 4 )
HDM_SETITEMW	EQU	( HDM_FIRST + 12 )
ifdef UNICODE
HDM_SETITEM	EQU	<HDM_SETITEMW>
else 
HDM_SETITEM	EQU	<HDM_SETITEMA>
endif 
Header_SetItem macro hwndHD,i,phdi
	exitm <SNDMSG ( ( hwndHD ) , HDM_SETITEM , ( i ) , <phdi> ) >
	endm
if (_WIN32_IE ge 0300h)
HD_LAYOUT	EQU	<HDLAYOUT>
else 
HDLAYOUT	EQU	<HD_LAYOUT>
endif 
HDLAYOUT	struct 
prc	DWORD	?
pwpos	DWORD	?
HDLAYOUT	ends

LPHDLAYOUT typedef ptr HDLAYOUT

HDM_LAYOUT	EQU	( HDM_FIRST + 5 )
Header_Layout macro hwndHD,playout
	exitm <SNDMSG ( ( hwndHD ) , HDM_LAYOUT , 0 , <playout> ) >
	endm
HHT_NOWHERE	EQU	0001h
HHT_ONHEADER	EQU	0002h
HHT_ONDIVIDER	EQU	0004h
HHT_ONDIVOPEN	EQU	0008h
if (_WIN32_IE ge 0500h)
HHT_ONFILTER	EQU	0010h
HHT_ONFILTERBUTTON	EQU	0020h
endif 
HHT_ABOVE	EQU	0100h
HHT_BELOW	EQU	0200h
HHT_TORIGHT	EQU	0400h
HHT_TOLEFT	EQU	0800h
if (_WIN32_IE ge 0300h)
HD_HITTESTINFO	EQU	<HDHITTESTINFO>
else 
HDHITTESTINFO	EQU	<HD_HITTESTINFO>
endif 
HDHITTESTINFO	struct 
pt	POINT	<>
flags	DWORD	?
iItem	DWORD	?
HDHITTESTINFO	ends

LPHDHITTESTINFO typedef ptr HDHITTESTINFO

HDM_HITTEST	EQU	( HDM_FIRST + 6 )
if (_WIN32_IE ge 0300h)
HDM_GETITEMRECT	EQU	( HDM_FIRST + 7 )
Header_GetItemRect macro hwnd,iItem,lprc
	exitm <SNDMSG ( ( hwnd ) , HDM_GETITEMRECT , ( iItem ) , <lprc> ) >
	endm
HDM_SETIMAGELIST	EQU	( HDM_FIRST + 8 )
Header_SetImageList macro hwnd,himl
	exitm <SNDMSG ( ( hwnd ) , HDM_SETIMAGELIST , 0 , himl ) >
	endm
HDM_GETIMAGELIST	EQU	( HDM_FIRST + 9 )
Header_GetImageList macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_GETIMAGELIST , 0 , 0 ) >
	endm
HDM_ORDERTOINDEX	EQU	( HDM_FIRST + 15 )
Header_OrderToIndex macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_ORDERTOINDEX , ( i ) , 0 ) >
	endm
HDM_CREATEDRAGIMAGE	EQU	( HDM_FIRST + 16 )
Header_CreateDragImage macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_CREATEDRAGIMAGE , ( i ) , 0 ) >
	endm
HDM_GETORDERARRAY	EQU	( HDM_FIRST + 17 )
Header_GetOrderArray macro hwnd,iCount,lpi
	exitm <SNDMSG ( ( hwnd ) , HDM_GETORDERARRAY , ( iCount ) , <lpi> ) >
	endm
HDM_SETORDERARRAY	EQU	( HDM_FIRST + 18 )
Header_SetOrderArray macro hwnd,iCount,lpi
	exitm <SNDMSG ( ( hwnd ) , HDM_SETORDERARRAY , ( iCount ) , <lpi> ) >
	endm
HDM_SETHOTDIVIDER	EQU	( HDM_FIRST + 19 )
Header_SetHotDivider macro hwnd,fPos,dw_
	exitm <SNDMSG ( ( hwnd ) , HDM_SETHOTDIVIDER , ( fPos ) , ( dw_ ) ) >
	endm
endif 
if (_WIN32_IE ge 0500h)
HDM_SETBITMAPMARGIN	EQU	( HDM_FIRST + 20 )
Header_SetBitmapMargin macro hwnd,iWidth
	exitm <SNDMSG ( ( hwnd ) , HDM_SETBITMAPMARGIN , ( iWidth ) , 0 ) >
	endm
HDM_GETBITMAPMARGIN	EQU	( HDM_FIRST + 21 )
Header_GetBitmapMargin macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_GETBITMAPMARGIN , 0 , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
HDM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
Header_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , HDM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
HDM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
Header_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0500h)
HDM_SETFILTERCHANGETIMEOUT	EQU	( HDM_FIRST + 22 )
Header_SetFilterChangeTimeout macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_SETFILTERCHANGETIMEOUT , 0 , ( i ) ) >
	endm
HDM_EDITFILTER	EQU	( HDM_FIRST + 23 )
Header_EditFilter macro hwnd,i,fDiscardChanges
	exitm <SNDMSG ( ( hwnd ) , HDM_EDITFILTER , ( i ) , MAKELPARAM ( fDiscardChanges , 0 ) ) >
	endm
HDM_CLEARFILTER	EQU	( HDM_FIRST + 24 )
Header_ClearFilter macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , HDM_CLEARFILTER , ( i ) , 0 ) >
	endm
Header_ClearAllFilters macro hwnd
	exitm <SNDMSG ( ( hwnd ) , HDM_CLEARFILTER , - 1 , 0 ) >
	endm
endif 
HDN_ITEMCHANGINGA	EQU	( HDN_FIRST - 0 )
HDN_ITEMCHANGINGW	EQU	( HDN_FIRST - 20 )
HDN_ITEMCHANGEDA	EQU	( HDN_FIRST - 1 )
HDN_ITEMCHANGEDW	EQU	( HDN_FIRST - 21 )
HDN_ITEMCLICKA	EQU	( HDN_FIRST - 2 )
HDN_ITEMCLICKW	EQU	( HDN_FIRST - 22 )
HDN_ITEMDBLCLICKA	EQU	( HDN_FIRST - 3 )
HDN_ITEMDBLCLICKW	EQU	( HDN_FIRST - 23 )
HDN_DIVIDERDBLCLICKA	EQU	( HDN_FIRST - 5 )
HDN_DIVIDERDBLCLICKW	EQU	( HDN_FIRST - 25 )
HDN_BEGINTRACKA	EQU	( HDN_FIRST - 6 )
HDN_BEGINTRACKW	EQU	( HDN_FIRST - 26 )
HDN_ENDTRACKA	EQU	( HDN_FIRST - 7 )
HDN_ENDTRACKW	EQU	( HDN_FIRST - 27 )
HDN_TRACKA	EQU	( HDN_FIRST - 8 )
HDN_TRACKW	EQU	( HDN_FIRST - 28 )
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFOA	EQU	( HDN_FIRST - 9 )
HDN_GETDISPINFOW	EQU	( HDN_FIRST - 29 )
HDN_BEGINDRAG	EQU	( HDN_FIRST - 10 )
HDN_ENDDRAG	EQU	( HDN_FIRST - 11 )
endif 
if (_WIN32_IE ge 0500h)
HDN_FILTERCHANGE	EQU	( HDN_FIRST - 12 )
HDN_FILTERBTNCLICK	EQU	( HDN_FIRST - 13 )
endif 
ifdef UNICODE
HDN_ITEMCHANGING	EQU	<HDN_ITEMCHANGINGW>
HDN_ITEMCHANGED	EQU	<HDN_ITEMCHANGEDW>
HDN_ITEMCLICK	EQU	<HDN_ITEMCLICKW>
HDN_ITEMDBLCLICK	EQU	<HDN_ITEMDBLCLICKW>
HDN_DIVIDERDBLCLICK	EQU	<HDN_DIVIDERDBLCLICKW>
HDN_BEGINTRACK	EQU	<HDN_BEGINTRACKW>
HDN_ENDTRACK	EQU	<HDN_ENDTRACKW>
HDN_TRACK	EQU	<HDN_TRACKW>
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFO	EQU	<HDN_GETDISPINFOW>
endif 
else 
HDN_ITEMCHANGING	EQU	<HDN_ITEMCHANGINGA>
HDN_ITEMCHANGED	EQU	<HDN_ITEMCHANGEDA>
HDN_ITEMCLICK	EQU	<HDN_ITEMCLICKA>
HDN_ITEMDBLCLICK	EQU	<HDN_ITEMDBLCLICKA>
HDN_DIVIDERDBLCLICK	EQU	<HDN_DIVIDERDBLCLICKA>
HDN_BEGINTRACK	EQU	<HDN_BEGINTRACKA>
HDN_ENDTRACK	EQU	<HDN_ENDTRACKA>
HDN_TRACK	EQU	<HDN_TRACKA>
if (_WIN32_IE ge 0300h)
HDN_GETDISPINFO	EQU	<HDN_GETDISPINFOA>
endif 
endif 
if (_WIN32_IE ge 0300h)
HD_NOTIFYA	EQU	<NMHEADERA>
HD_NOTIFYW	EQU	<NMHEADERW>
else 
tagNMHEADERA	EQU	<_HD_NOTIFY>
NMHEADERA	EQU	<HD_NOTIFYA>
tagHMHEADERW	EQU	<_HD_NOTIFYW>
NMHEADERW	EQU	<HD_NOTIFYW>
endif 
HD_NOTIFY	EQU	<NMHEADER>
NMHEADERA	struct 
hdr	NMHDR	<>
iItem	DWORD	?
iButton	DWORD	?
pitem	DWORD	?
NMHEADERA	ends

LPNMHEADERA typedef ptr NMHEADERA

NMHEADERW	struct 
hdr	NMHDR	<>
iItem	DWORD	?
iButton	DWORD	?
pitem	DWORD	?
NMHEADERW	ends

LPNMHEADERW typedef ptr NMHEADERW

ifdef UNICODE
NMHEADER	EQU	<NMHEADERW>
LPNMHEADER	EQU	<LPNMHEADERW>
else 
NMHEADER	EQU	<NMHEADERA>
LPNMHEADER	EQU	<LPNMHEADERA>
endif 
NMHDDISPINFOW	struct 
hdr	NMHDR	<>
iItem	DWORD	?
mask_	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
NMHDDISPINFOW	ends

LPNMHDDISPINFOW typedef ptr NMHDDISPINFOW

NMHDDISPINFOA	struct 
hdr	NMHDR	<>
iItem	DWORD	?
mask_	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
NMHDDISPINFOA	ends

LPNMHDDISPINFOA typedef ptr NMHDDISPINFOA

ifdef UNICODE
NMHDDISPINFO	EQU	<NMHDDISPINFOW>
LPNMHDDISPINFO	EQU	<LPNMHDDISPINFOW>
else 
NMHDDISPINFO	EQU	<NMHDDISPINFOA>
LPNMHDDISPINFO	EQU	<LPNMHDDISPINFOA>
endif 
if (_WIN32_IE ge 0500h)
NMHDFILTERBTNCLICK	struct 
hdr	NMHDR	<>
iItem	DWORD	?
rc	RECT	<>
NMHDFILTERBTNCLICK	ends

LPNMHDFILTERBTNCLICK typedef ptr NMHDFILTERBTNCLICK

endif 
endif 
ifndef NOTOOLBAR
ifdef _WIN32
TOOLBARCLASSNAMEW	EQU	<L("ToolbarWindow32")>
TOOLBARCLASSNAMEA	EQU	<"ToolbarWindow32">
ifdef UNICODE
TOOLBARCLASSNAME	EQU	<TOOLBARCLASSNAMEW>
else 
TOOLBARCLASSNAME	EQU	<TOOLBARCLASSNAMEA>
endif 
else 
TOOLBARCLASSNAME	EQU	<"ToolbarWindow">
endif 
TBBUTTON struct
iBitmap		DWORD	?
idCommand	DWORD	?
fsState		BYTE	?
fsStyle		BYTE	?
ifdef _WIN64
bReserved	BYTE 6 dup (?)
elseif defined(_WIN32)
bReserved	BYTE 2 dup (?)
endif
dwData		DWORD_PTR	?
iString		INT_PTR	?
TBBUTTON ends

PTBBUTTON typedef ptr TBBUTTON
LPTBBUTTON typedef ptr TBBUTTON

LPCTBBUTTON typedef ptr TBBUTTON
COLORMAP	struct 
from	COLORREF	?
to	COLORREF	?
COLORMAP	ends

LPCOLORMAP typedef ptr COLORMAP

@DefProto WINCOMMCTRLAPI, CreateToolbarEx, stdcall, , <:HWND, :DWORD, :DWORD, :DWORD, :HINSTANCE, :UINT_PTR, :LPCTBBUTTON, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD>, 52
@DefProto WINCOMMCTRLAPI, CreateMappedBitmap, stdcall, , <:HINSTANCE, :INT_PTR, :DWORD, :LPCOLORMAP, :DWORD>, 20
CMB_MASKED	EQU	02h
TBSTATE_CHECKED	EQU	01h
TBSTATE_PRESSED	EQU	02h
TBSTATE_ENABLED	EQU	04h
TBSTATE_HIDDEN	EQU	08h
TBSTATE_INDETERMINATE	EQU	10h
TBSTATE_WRAP	EQU	20h
if (_WIN32_IE ge 0300h)
TBSTATE_ELLIPSES	EQU	40h
endif 
if (_WIN32_IE ge 0400h)
TBSTATE_MARKED	EQU	80h
endif 
TBSTYLE_BUTTON	EQU	0000h
TBSTYLE_SEP	EQU	0001h
TBSTYLE_CHECK	EQU	0002h
TBSTYLE_GROUP	EQU	0004h
TBSTYLE_CHECKGROUP	EQU	( TBSTYLE_GROUP  or  TBSTYLE_CHECK )
if (_WIN32_IE ge 0300h)
TBSTYLE_DROPDOWN	EQU	0008h
endif 
if (_WIN32_IE ge 0400h)
TBSTYLE_AUTOSIZE	EQU	0010h
TBSTYLE_NOPREFIX	EQU	0020h
endif 
TBSTYLE_TOOLTIPS	EQU	0100h
TBSTYLE_WRAPABLE	EQU	0200h
TBSTYLE_ALTDRAG	EQU	0400h
if (_WIN32_IE ge 0300h)
TBSTYLE_FLAT	EQU	0800h
TBSTYLE_LIST	EQU	1000h
TBSTYLE_CUSTOMERASE	EQU	2000h
endif 
if (_WIN32_IE ge 0400h)
TBSTYLE_REGISTERDROP	EQU	4000h
TBSTYLE_TRANSPARENT	EQU	8000h
TBSTYLE_EX_DRAWDDARROWS	EQU	00000001h
endif 
if (_WIN32_IE ge 0500h)
BTNS_BUTTON	EQU	<TBSTYLE_BUTTON>
BTNS_SEP	EQU	<TBSTYLE_SEP>
BTNS_CHECK	EQU	<TBSTYLE_CHECK>
BTNS_GROUP	EQU	<TBSTYLE_GROUP>
BTNS_CHECKGROUP	EQU	<TBSTYLE_CHECKGROUP>
BTNS_DROPDOWN	EQU	<TBSTYLE_DROPDOWN>
BTNS_AUTOSIZE	EQU	<TBSTYLE_AUTOSIZE>
BTNS_NOPREFIX	EQU	<TBSTYLE_NOPREFIX>
if (_WIN32_IE ge 0501h)
BTNS_SHOWTEXT	EQU	0040h
endif 
BTNS_WHOLEDROPDOWN	EQU	0080h
endif 
if (_WIN32_IE ge 0501h)
TBSTYLE_EX_MIXEDBUTTONS	EQU	00000008h
TBSTYLE_EX_HIDECLIPPEDBUTTONS	EQU	00000010h
endif 
if (_WIN32_WINNT ge 501h)
TBSTYLE_EX_DOUBLEBUFFER	EQU	00000080h
endif 
if (_WIN32_IE ge 0400h)
NMTBCUSTOMDRAW	struct 
nmcd	NMCUSTOMDRAW	<>
hbrMonoDither	HBRUSH	?
hbrLines	HBRUSH	?
hpenLines	HPEN	?
clrText	COLORREF	?
clrMark	COLORREF	?
clrTextHighlight	COLORREF	?
clrBtnFace	COLORREF	?
clrBtnHighlight	COLORREF	?
clrHighlightHotTrack	COLORREF	?
rcText	RECT	<>
nStringBkMode	DWORD	?
nHLStringBkMode	DWORD	?
if (_WIN32_WINNT ge 501h)
iListGap	DWORD	?
endif 
NMTBCUSTOMDRAW	ends

LPNMTBCUSTOMDRAW typedef ptr NMTBCUSTOMDRAW

TBCDRF_NOEDGES	EQU	00010000h
TBCDRF_HILITEHOTTRACK	EQU	00020000h
TBCDRF_NOOFFSET	EQU	00040000h
TBCDRF_NOMARK	EQU	00080000h
TBCDRF_NOETCHEDEFFECT	EQU	00100000h
endif 
if (_WIN32_IE ge 0500h)
TBCDRF_BLENDICON	EQU	00200000h
TBCDRF_NOBACKGROUND	EQU	00400000h
endif 
TB_ENABLEBUTTON	EQU	( WM_USER + 1 )
TB_CHECKBUTTON	EQU	( WM_USER + 2 )
TB_PRESSBUTTON	EQU	( WM_USER + 3 )
TB_HIDEBUTTON	EQU	( WM_USER + 4 )
TB_INDETERMINATE	EQU	( WM_USER + 5 )
if (_WIN32_IE ge 0400h)
TB_MARKBUTTON	EQU	( WM_USER + 6 )
endif 
TB_ISBUTTONENABLED	EQU	( WM_USER + 9 )
TB_ISBUTTONCHECKED	EQU	( WM_USER + 10 )
TB_ISBUTTONPRESSED	EQU	( WM_USER + 11 )
TB_ISBUTTONHIDDEN	EQU	( WM_USER + 12 )
TB_ISBUTTONINDETERMINATE	EQU	( WM_USER + 13 )
if (_WIN32_IE ge 0400h)
TB_ISBUTTONHIGHLIGHTED	EQU	( WM_USER + 14 )
endif 
TB_SETSTATE	EQU	( WM_USER + 17 )
TB_GETSTATE	EQU	( WM_USER + 18 )
TB_ADDBITMAP	EQU	( WM_USER + 19 )
ifdef _WIN32
TBADDBITMAP	struct 
hInst	HINSTANCE	?
nID	UINT_PTR	?
TBADDBITMAP	ends

LPTBADDBITMAP typedef ptr TBADDBITMAP

HINST_COMMCTRL	EQU	( ( HINSTANCE ) - 1 )
IDB_STD_SMALL_COLOR	EQU	0
IDB_STD_LARGE_COLOR	EQU	1
IDB_VIEW_SMALL_COLOR	EQU	4
IDB_VIEW_LARGE_COLOR	EQU	5
if (_WIN32_IE ge 0300h)
IDB_HIST_SMALL_COLOR	EQU	8
IDB_HIST_LARGE_COLOR	EQU	9
endif 
STD_CUT	EQU	0
STD_COPY	EQU	1
STD_PASTE	EQU	2
STD_UNDO	EQU	3
STD_REDOW	EQU	4
STD_DELETE	EQU	5
STD_FILENEW	EQU	6
STD_FILEOPEN	EQU	7
STD_FILESAVE	EQU	8
STD_PRINTPRE	EQU	9
STD_PROPERTIES	EQU	10
STD_HELP	EQU	11
STD_FIND	EQU	12
STD_REPLACE	EQU	13
STD_PRINT	EQU	14
VIEW_LARGEICONS	EQU	0
VIEW_SMALLICONS	EQU	1
VIEW_LIST	EQU	2
VIEW_DETAILS	EQU	3
VIEW_SORTNAME	EQU	4
VIEW_SORTSIZE	EQU	5
VIEW_SORTDATE	EQU	6
VIEW_SORTTYPE	EQU	7
VIEW_PARENTFOLDER	EQU	8
VIEW_NETCONNECT	EQU	9
VIEW_NETDISCONNECT	EQU	10
VIEW_NEWFOLDER	EQU	11
if (_WIN32_IE ge 0400h)
VIEW_VIEWMENU	EQU	12
endif 
if (_WIN32_IE ge 0300h)
HIST_BACK	EQU	0
HIST_FORWARD	EQU	1
HIST_FAVORITES	EQU	2
HIST_ADDTOFAVORITES	EQU	3
HIST_VIEWTREE	EQU	4
endif 
endif 
if (_WIN32_IE ge 0400h)
TB_ADDBUTTONSA	EQU	( WM_USER + 20 )
TB_INSERTBUTTONA	EQU	( WM_USER + 21 )
else 
TB_ADDBUTTONS	EQU	( WM_USER + 20 )
TB_INSERTBUTTON	EQU	( WM_USER + 21 )
endif 
TB_DELETEBUTTON	EQU	( WM_USER + 22 )
TB_GETBUTTON	EQU	( WM_USER + 23 )
TB_BUTTONCOUNT	EQU	( WM_USER + 24 )
TB_COMMANDTOINDEX	EQU	( WM_USER + 25 )
ifdef _WIN32
TBSAVEPARAMSA	struct 
hkr	HKEY	?
pszSubKey	LPSTR	?
pszValueName	LPSTR	?
TBSAVEPARAMSA	ends

LPTBSAVEPARAMSA typedef ptr TBSAVEPARAMSA

TBSAVEPARAMSW	struct 
hkr	HKEY	?
pszSubKey	LPWSTR	?
pszValueName	LPWSTR	?
TBSAVEPARAMSW	ends

LPTBSAVEPARAMW typedef ptr TBSAVEPARAMSW

ifdef UNICODE
TBSAVEPARAMS	EQU	<TBSAVEPARAMSW>
LPTBSAVEPARAMS	EQU	<LPTBSAVEPARAMSW>
else 
TBSAVEPARAMS	EQU	<TBSAVEPARAMSA>
LPTBSAVEPARAMS	EQU	<LPTBSAVEPARAMSA>
endif 
endif 
TB_SAVERESTOREA	EQU	( WM_USER + 26 )
TB_SAVERESTOREW	EQU	( WM_USER + 76 )
TB_CUSTOMIZE	EQU	( WM_USER + 27 )
TB_ADDSTRINGA	EQU	( WM_USER + 28 )
TB_ADDSTRINGW	EQU	( WM_USER + 77 )
TB_GETITEMRECT	EQU	( WM_USER + 29 )
TB_BUTTONSTRUCTSIZE	EQU	( WM_USER + 30 )
TB_SETBUTTONSIZE	EQU	( WM_USER + 31 )
TB_SETBITMAPSIZE	EQU	( WM_USER + 32 )
TB_AUTOSIZE	EQU	( WM_USER + 33 )
TB_GETTOOLTIPS	EQU	( WM_USER + 35 )
TB_SETTOOLTIPS	EQU	( WM_USER + 36 )
TB_SETPARENT	EQU	( WM_USER + 37 )
TB_SETROWS	EQU	( WM_USER + 39 )
TB_GETROWS	EQU	( WM_USER + 40 )
TB_SETCMDID	EQU	( WM_USER + 42 )
TB_CHANGEBITMAP	EQU	( WM_USER + 43 )
TB_GETBITMAP	EQU	( WM_USER + 44 )
TB_GETBUTTONTEXTA	EQU	( WM_USER + 45 )
TB_GETBUTTONTEXTW	EQU	( WM_USER + 75 )
TB_REPLACEBITMAP	EQU	( WM_USER + 46 )
if (_WIN32_IE ge 0300h)
TB_SETINDENT	EQU	( WM_USER + 47 )
TB_SETIMAGELIST	EQU	( WM_USER + 48 )
TB_GETIMAGELIST	EQU	( WM_USER + 49 )
TB_LOADIMAGES	EQU	( WM_USER + 50 )
TB_GETRECT	EQU	( WM_USER + 51 )
TB_SETHOTIMAGELIST	EQU	( WM_USER + 52 )
TB_GETHOTIMAGELIST	EQU	( WM_USER + 53 )
TB_SETDISABLEDIMAGELIST	EQU	( WM_USER + 54 )
TB_GETDISABLEDIMAGELIST	EQU	( WM_USER + 55 )
TB_SETSTYLE	EQU	( WM_USER + 56 )
TB_GETSTYLE	EQU	( WM_USER + 57 )
TB_GETBUTTONSIZE	EQU	( WM_USER + 58 )
TB_SETBUTTONWIDTH	EQU	( WM_USER + 59 )
TB_SETMAXTEXTROWS	EQU	( WM_USER + 60 )
TB_GETTEXTROWS	EQU	( WM_USER + 61 )
endif 
ifdef UNICODE
TB_GETBUTTONTEXT	EQU	<TB_GETBUTTONTEXTW>
TB_SAVERESTORE	EQU	<TB_SAVERESTOREW>
TB_ADDSTRING	EQU	<TB_ADDSTRINGW>
else 
TB_GETBUTTONTEXT	EQU	<TB_GETBUTTONTEXTA>
TB_SAVERESTORE	EQU	<TB_SAVERESTOREA>
TB_ADDSTRING	EQU	<TB_ADDSTRINGA>
endif 
if (_WIN32_IE ge 0400h)
TB_GETOBJECT	EQU	( WM_USER + 62 )
TB_GETHOTITEM	EQU	( WM_USER + 71 )
TB_SETHOTITEM	EQU	( WM_USER + 72 )
TB_SETANCHORHIGHLIGHT	EQU	( WM_USER + 73 )
TB_GETANCHORHIGHLIGHT	EQU	( WM_USER + 74 )
TB_MAPACCELERATORA	EQU	( WM_USER + 78 )
TBINSERTMARK	struct 
iButton	DWORD	?
dwFlags	DWORD	?
TBINSERTMARK	ends

LPTBINSERTMARK typedef ptr TBINSERTMARK

TBIMHT_AFTER	EQU	00000001h
TBIMHT_BACKGROUND	EQU	00000002h
TB_GETINSERTMARK	EQU	( WM_USER + 79 )
TB_SETINSERTMARK	EQU	( WM_USER + 80 )
TB_INSERTMARKHITTEST	EQU	( WM_USER + 81 )
TB_MOVEBUTTON	EQU	( WM_USER + 82 )
TB_GETMAXSIZE	EQU	( WM_USER + 83 )
TB_SETEXTENDEDSTYLE	EQU	( WM_USER + 84 )
TB_GETEXTENDEDSTYLE	EQU	( WM_USER + 85 )
TB_GETPADDING	EQU	( WM_USER + 86 )
TB_SETPADDING	EQU	( WM_USER + 87 )
TB_SETINSERTMARKCOLOR	EQU	( WM_USER + 88 )
TB_GETINSERTMARKCOLOR	EQU	( WM_USER + 89 )
TB_SETCOLORSCHEME	EQU	<CCM_SETCOLORSCHEME>
TB_GETCOLORSCHEME	EQU	<CCM_GETCOLORSCHEME>
TB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TB_MAPACCELERATORW	EQU	( WM_USER + 90 )
ifdef UNICODE
TB_MAPACCELERATOR	EQU	<TB_MAPACCELERATORW>
else 
TB_MAPACCELERATOR	EQU	<TB_MAPACCELERATORA>
endif 
endif 
TBREPLACEBITMAP	struct 
hInstOld	HINSTANCE	?
nIDOld	UINT_PTR	?
hInstNew	HINSTANCE	?
nIDNew	UINT_PTR	?
nButtons	DWORD	?
TBREPLACEBITMAP	ends

LPTBREPLACEBITMAP typedef ptr TBREPLACEBITMAP

ifdef _WIN32
TBBF_LARGE	EQU	0001h
TB_GETBITMAPFLAGS	EQU	( WM_USER + 41 )
if (_WIN32_IE ge 0400h)
TBIF_IMAGE	EQU	00000001h
TBIF_TEXT	EQU	00000002h
TBIF_STATE	EQU	00000004h
TBIF_STYLE	EQU	00000008h
TBIF_LPARAM	EQU	00000010h
TBIF_COMMAND	EQU	00000020h
TBIF_SIZE	EQU	00000040h
if (_WIN32_IE ge 0500h)
TBIF_BYINDEX	EQU	80000000h
endif 
TBBUTTONINFOA	struct 
cbSize	DWORD	?
dwMask	DWORD	?
idCommand	DWORD	?
iImage	DWORD	?
fsState	BYTE	?
fsStyle	BYTE	?
cx_	WORD	?
lParam	DWORD_PTR	?
pszText	LPSTR	?
cchText	DWORD	?
TBBUTTONINFOA	ends

LPTBBUTTONINFOA typedef ptr TBBUTTONINFOA

TBBUTTONINFOW	struct 
cbSize	DWORD	?
dwMask	DWORD	?
idCommand	DWORD	?
iImage	DWORD	?
fsState	BYTE	?
fsStyle	BYTE	?
cx_	WORD	?
lParam	DWORD_PTR	?
pszText	LPWSTR	?
cchText	DWORD	?
TBBUTTONINFOW	ends

LPTBBUTTONINFOW typedef ptr TBBUTTONINFOW

ifdef UNICODE
TBBUTTONINFO	EQU	<TBBUTTONINFOW>
LPTBBUTTONINFO	EQU	<LPTBBUTTONINFOW>
else 
TBBUTTONINFO	EQU	<TBBUTTONINFOA>
LPTBBUTTONINFO	EQU	<LPTBBUTTONINFOA>
endif 
TB_GETBUTTONINFOW	EQU	( WM_USER + 63 )
TB_SETBUTTONINFOW	EQU	( WM_USER + 64 )
TB_GETBUTTONINFOA	EQU	( WM_USER + 65 )
TB_SETBUTTONINFOA	EQU	( WM_USER + 66 )
ifdef UNICODE
TB_GETBUTTONINFO	EQU	<TB_GETBUTTONINFOW>
TB_SETBUTTONINFO	EQU	<TB_SETBUTTONINFOW>
else 
TB_GETBUTTONINFO	EQU	<TB_GETBUTTONINFOA>
TB_SETBUTTONINFO	EQU	<TB_SETBUTTONINFOA>
endif 
TB_INSERTBUTTONW	EQU	( WM_USER + 67 )
TB_ADDBUTTONSW	EQU	( WM_USER + 68 )
TB_HITTEST	EQU	( WM_USER + 69 )
ifdef UNICODE
TB_INSERTBUTTON	EQU	<TB_INSERTBUTTONW>
TB_ADDBUTTONS	EQU	<TB_ADDBUTTONSW>
else 
TB_INSERTBUTTON	EQU	<TB_INSERTBUTTONA>
TB_ADDBUTTONS	EQU	<TB_ADDBUTTONSA>
endif 
TB_SETDRAWTEXTFLAGS	EQU	( WM_USER + 70 )
endif 
if (_WIN32_IE ge 0500h)
TB_GETSTRINGW	EQU	( WM_USER + 91 )
TB_GETSTRINGA	EQU	( WM_USER + 92 )
ifdef UNICODE
TB_GETSTRING	EQU	<TB_GETSTRINGW>
else 
TB_GETSTRING	EQU	<TB_GETSTRINGA>
endif 
endif 
if (_WIN32_WINNT ge 501h)
TBMF_PAD	EQU	00000001h
TBMF_BARPAD	EQU	00000002h
TBMF_BUTTONSPACING	EQU	00000004h
TBMETRICS	struct 
cbSize	DWORD	?
dwMask	DWORD	?
cxPad	DWORD	?
cyPad	DWORD	?
cxBarPad	DWORD	?
cyBarPad	DWORD	?
cxButtonSpacing	DWORD	?
cyButtonSpacing	DWORD	?
TBMETRICS	ends

LPTBMETRICS typedef ptr TBMETRICS

TB_GETMETRICS	EQU	( WM_USER + 101 )
TB_SETMETRICS	EQU	( WM_USER + 102 )
endif 
if (_WIN32_WINNT ge 501h)
TB_SETWINDOWTHEME	EQU	<CCM_SETWINDOWTHEME>
endif 
TBN_GETBUTTONINFOA	EQU	( TBN_FIRST - 0 )
TBN_BEGINDRAG	EQU	( TBN_FIRST - 1 )
TBN_ENDDRAG	EQU	( TBN_FIRST - 2 )
TBN_BEGINADJUST	EQU	( TBN_FIRST - 3 )
TBN_ENDADJUST	EQU	( TBN_FIRST - 4 )
TBN_RESET	EQU	( TBN_FIRST - 5 )
TBN_QUERYINSERT	EQU	( TBN_FIRST - 6 )
TBN_QUERYDELETE	EQU	( TBN_FIRST - 7 )
TBN_TOOLBARCHANGE	EQU	( TBN_FIRST - 8 )
TBN_CUSTHELP	EQU	( TBN_FIRST - 9 )
if (_WIN32_IE ge 0300h)
TBN_DROPDOWN	EQU	( TBN_FIRST - 10 )
endif 
if (_WIN32_IE ge 0400h)
TBN_GETOBJECT	EQU	( TBN_FIRST - 12 )
NMTBHOTITEM	struct 
hdr	NMHDR	<>
idOld	DWORD	?
idNew	DWORD	?
dwFlags	DWORD	?
NMTBHOTITEM	ends

LPNMTBHOTITEM typedef ptr NMTBHOTITEM

HICF_OTHER	EQU	00000000h
HICF_MOUSE	EQU	00000001h
HICF_ARROWKEYS	EQU	00000002h
HICF_ACCELERATOR	EQU	00000004h
HICF_DUPACCEL	EQU	00000008h
HICF_ENTERING	EQU	00000010h
HICF_LEAVING	EQU	00000020h
HICF_RESELECT	EQU	00000040h
HICF_LMOUSE	EQU	00000080h
HICF_TOGGLEDROPDOWN	EQU	00000100h
TBN_HOTITEMCHANGE	EQU	( TBN_FIRST - 13 )
TBN_DRAGOUT	EQU	( TBN_FIRST - 14 )
TBN_DELETINGBUTTON	EQU	( TBN_FIRST - 15 )
TBN_GETDISPINFOA	EQU	( TBN_FIRST - 16 )
TBN_GETDISPINFOW	EQU	( TBN_FIRST - 17 )
TBN_GETINFOTIPA	EQU	( TBN_FIRST - 18 )
TBN_GETINFOTIPW	EQU	( TBN_FIRST - 19 )
TBN_GETBUTTONINFOW	EQU	( TBN_FIRST - 20 )
if (_WIN32_IE ge 0500h)
TBN_RESTORE	EQU	( TBN_FIRST - 21 )
TBN_SAVE	EQU	( TBN_FIRST - 22 )
TBN_INITCUSTOMIZE	EQU	( TBN_FIRST - 23 )
TBNRF_HIDEHELP	EQU	00000001h
TBNRF_ENDCUSTOMIZE	EQU	00000002h
endif 
if (_WIN32_IE ge 0500h)
NMTBSAVE	struct 
hdr	NMHDR	<>
pData	DWORD	?
pCurrent	DWORD	?
cbData	DWORD	?
iItem	DWORD	?
cButtons	DWORD	?
tbButton	TBBUTTON	<>
NMTBSAVE	ends

LPNMTBSAVE typedef ptr NMTBSAVE

NMTBRESTORE	struct 
hdr	NMHDR	<>
pData	DWORD	?
pCurrent	DWORD	?
cbData	DWORD	?
iItem	DWORD	?
cButtons	DWORD	?
cbBytesPerRecord	DWORD	?
tbButton	TBBUTTON	<>
NMTBRESTORE	ends

LPNMTBRESTORE typedef ptr NMTBRESTORE

endif 
NMTBGETINFOTIPA	struct 
hdr	NMHDR	<>
pszText	LPSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
lParam	LPARAM	?
NMTBGETINFOTIPA	ends

LPNMTBGETINFOTIPA typedef ptr NMTBGETINFOTIPA

NMTBGETINFOTIPW	struct 
hdr	NMHDR	<>
pszText	LPWSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
lParam	LPARAM	?
NMTBGETINFOTIPW	ends

LPNMTBGETINFOTIPW typedef ptr NMTBGETINFOTIPW

ifdef UNICODE
TBN_GETINFOTIP	EQU	<TBN_GETINFOTIPW>
NMTBGETINFOTIP	EQU	<NMTBGETINFOTIPW>
LPNMTBGETINFOTIP	EQU	<LPNMTBGETINFOTIPW>
else 
TBN_GETINFOTIP	EQU	<TBN_GETINFOTIPA>
NMTBGETINFOTIP	EQU	<NMTBGETINFOTIPA>
LPNMTBGETINFOTIP	EQU	<LPNMTBGETINFOTIPA>
endif 
TBNF_IMAGE	EQU	00000001h
TBNF_TEXT	EQU	00000002h
TBNF_DI_SETITEM	EQU	10000000h
NMTBDISPINFOA	struct 
hdr	NMHDR	<>
dwMask	DWORD	?
idCommand	DWORD	?
lParam	DWORD_PTR	?
iImage	DWORD	?
pszText	LPSTR	?
cchText	DWORD	?
NMTBDISPINFOA	ends

LPNMTBDISPINFOA typedef ptr NMTBDISPINFOA

NMTBDISPINFOW	struct 
hdr	NMHDR	<>
dwMask	DWORD	?
idCommand	DWORD	?
lParam	DWORD_PTR	?
iImage	DWORD	?
pszText	LPWSTR	?
cchText	DWORD	?
NMTBDISPINFOW	ends

LPNMTBDISPINFOW typedef ptr NMTBDISPINFOW

ifdef UNICODE
TBN_GETDISPINFO	EQU	<TBN_GETDISPINFOW>
NMTBDISPINFO	EQU	<NMTBDISPINFOW>
LPNMTBDISPINFO	EQU	<LPNMTBDISPINFOW>
else 
TBN_GETDISPINFO	EQU	<TBN_GETDISPINFOA>
NMTBDISPINFO	EQU	<NMTBDISPINFOA>
LPNMTBDISPINFO	EQU	<LPNMTBDISPINFOA>
endif 
TBDDRET_DEFAULT	EQU	0
TBDDRET_NODEFAULT	EQU	1
TBDDRET_TREATPRESSED	EQU	2
endif 
ifdef UNICODE
TBN_GETBUTTONINFO	EQU	<TBN_GETBUTTONINFOW>
else 
TBN_GETBUTTONINFO	EQU	<TBN_GETBUTTONINFOA>
endif 
if (_WIN32_IE ge 0300h)
TBNOTIFYA	EQU	<NMTOOLBARA>
TBNOTIFYW	EQU	<NMTOOLBARW>
LPTBNOTIFYA	EQU	<LPNMTOOLBARA>
LPTBNOTIFYW	EQU	<LPNMTOOLBARW>
else 
tagNMTOOLBARA	EQU	<tagTBNOTIFYA>
NMTOOLBARA	EQU	<TBNOTIFYA>
LPNMTOOLBARA	EQU	<LPTBNOTIFYA>
tagNMTOOLBARW	EQU	<tagTBNOTIFYW>
NMTOOLBARW	EQU	<TBNOTIFYW>
LPNMTOOLBARW	EQU	<LPTBNOTIFYW>
endif 
TBNOTIFY	EQU	<NMTOOLBAR>
LPTBNOTIFY	EQU	<LPNMTOOLBAR>
if (_WIN32_IE ge 0300h)
NMTOOLBARA	struct 
hdr	NMHDR	<>
iItem	DWORD	?
tbButton	TBBUTTON	<>
cchText	DWORD	?
pszText	LPSTR	?
if (_WIN32_IE ge 500h)
rcButton	RECT	<>
endif 
NMTOOLBARA	ends

LPNMTOOLBARA typedef ptr NMTOOLBARA

endif 
if (_WIN32_IE ge 0300h)
NMTOOLBARW	struct 
hdr	NMHDR	<>
iItem	DWORD	?
tbButton	TBBUTTON	<>
cchText	DWORD	?
pszText	LPWSTR	?
if (_WIN32_IE ge 500h)
rcButton	RECT	<>
endif 
NMTOOLBARW	ends

LPNMTOOLBARW typedef ptr NMTOOLBARW

endif 
ifdef UNICODE
NMTOOLBAR	EQU	<NMTOOLBARW>
LPNMTOOLBAR	EQU	<LPNMTOOLBARW>
else 
NMTOOLBAR	EQU	<NMTOOLBARA>
LPNMTOOLBAR	EQU	<LPNMTOOLBARA>
endif 
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOREBAR
ifdef _WIN32
REBARCLASSNAMEW	EQU	<L("ReBarWindow32")>
REBARCLASSNAMEA	EQU	<"ReBarWindow32">
ifdef UNICODE
REBARCLASSNAME	EQU	<REBARCLASSNAMEW>
else 
REBARCLASSNAME	EQU	<REBARCLASSNAMEA>
endif 
else 
REBARCLASSNAME	EQU	<"ReBarWindow">
endif 
RBIM_IMAGELIST	EQU	00000001h
if (_WIN32_IE ge 0400h)
RBS_TOOLTIPS	EQU	0100h
RBS_VARHEIGHT	EQU	0200h
RBS_BANDBORDERS	EQU	0400h
RBS_FIXEDORDER	EQU	0800h
RBS_REGISTERDROP	EQU	1000h
RBS_AUTOSIZE	EQU	2000h
RBS_VERTICALGRIPPER	EQU	4000h
RBS_DBLCLKTOGGLE	EQU	8000h
else 
RBS_TOOLTIPS	EQU	00000100h
RBS_VARHEIGHT	EQU	00000200h
RBS_BANDBORDERS	EQU	00000400h
RBS_FIXEDORDER	EQU	00000800h
endif 
REBARINFO	struct 
cbSize	DWORD	?
fMask	DWORD	?
ifndef NOIMAGEAPIS
himl	HIMAGELIST	?
else 
himl	HANDLE	?
endif 
REBARINFO	ends

LPREBARINFO typedef ptr REBARINFO

RBBS_BREAK	EQU	00000001h
RBBS_FIXEDSIZE	EQU	00000002h
RBBS_CHILDEDGE	EQU	00000004h
RBBS_HIDDEN	EQU	00000008h
RBBS_NOVERT	EQU	00000010h
RBBS_FIXEDBMP	EQU	00000020h
if (_WIN32_IE ge 0400h)
RBBS_VARIABLEHEIGHT	EQU	00000040h
RBBS_GRIPPERALWAYS	EQU	00000080h
RBBS_NOGRIPPER	EQU	00000100h
if (_WIN32_IE ge 0500h)
RBBS_USECHEVRON	EQU	00000200h
if (_WIN32_IE ge 0501h)
RBBS_HIDETITLE	EQU	00000400h
RBBS_TOPALIGN	EQU	00000800h
endif 
endif 
endif 
RBBIM_STYLE	EQU	00000001h
RBBIM_COLORS	EQU	00000002h
RBBIM_TEXT	EQU	00000004h
RBBIM_IMAGE	EQU	00000008h
RBBIM_CHILD	EQU	00000010h
RBBIM_CHILDSIZE	EQU	00000020h
RBBIM_SIZE	EQU	00000040h
RBBIM_BACKGROUND	EQU	00000080h
RBBIM_ID	EQU	00000100h
if (_WIN32_IE ge 0400h)
RBBIM_IDEALSIZE	EQU	00000200h
RBBIM_LPARAM	EQU	00000400h
RBBIM_HEADERSIZE	EQU	00000800h
endif 
REBARBANDINFOA	struct 
cbSize	DWORD	?
fMask	DWORD	?
fStyle	DWORD	?
clrFore	COLORREF	?
clrBack	COLORREF	?
lpText	LPSTR	?
cch	DWORD	?
iImage	DWORD	?
hwndChild	HWND	?
cxMinChild	DWORD	?
cyMinChild	DWORD	?
cx_	DWORD	?
hbmBack	HBITMAP	?
wID	DWORD	?
if (_WIN32_IE ge 0400h)
cyChild	DWORD	?
cyMaxChild	DWORD	?
cyIntegral	DWORD	?
cxIdeal	DWORD	?
lParam	LPARAM	?
cxHeader	DWORD	?
endif 
REBARBANDINFOA	ends

LPREBARBANDINFOA typedef ptr REBARBANDINFOA

LPCREBARBANDINFOA typedef ptr REBARBANDINFOA
REBARBANDINFOA_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( REBARBANDINFOA , wID )>
REBARBANDINFOW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( REBARBANDINFOW , wID )>
REBARBANDINFOW	struct 
cbSize	DWORD	?
fMask	DWORD	?
fStyle	DWORD	?
clrFore	COLORREF	?
clrBack	COLORREF	?
lpText	LPWSTR	?
cch	DWORD	?
iImage	DWORD	?
hwndChild	HWND	?
cxMinChild	DWORD	?
cyMinChild	DWORD	?
cx_	DWORD	?
hbmBack	HBITMAP	?
wID	DWORD	?
if (_WIN32_IE ge 0400h)
cyChild	DWORD	?
cyMaxChild	DWORD	?
cyIntegral	DWORD	?
cxIdeal	DWORD	?
lParam	LPARAM	?
cxHeader	DWORD	?
endif 
REBARBANDINFOW	ends

LPREBARBANDINFOW typedef ptr REBARBANDINFOW

LPCREBARBANDINFOW typedef ptr REBARBANDINFOW
ifdef UNICODE
REBARBANDINFO	EQU	<REBARBANDINFOW>
LPREBARBANDINFO	EQU	<LPREBARBANDINFOW>
LPCREBARBANDINFO	EQU	<LPCREBARBANDINFOW>
REBARBANDINFO_V3_SIZE	EQU	<REBARBANDINFOW_V3_SIZE>
else 
REBARBANDINFO	EQU	<REBARBANDINFOA>
LPREBARBANDINFO	EQU	<LPREBARBANDINFOA>
LPCREBARBANDINFO	EQU	<LPCREBARBANDINFOA>
REBARBANDINFO_V3_SIZE	EQU	<REBARBANDINFOA_V3_SIZE>
endif 
RB_INSERTBANDA	EQU	( WM_USER + 1 )
RB_DELETEBAND	EQU	( WM_USER + 2 )
RB_GETBARINFO	EQU	( WM_USER + 3 )
RB_SETBARINFO	EQU	( WM_USER + 4 )
if (_WIN32_IE lt 0400h)
RB_GETBANDINFO	EQU	( WM_USER + 5 )
endif 
RB_SETBANDINFOA	EQU	( WM_USER + 6 )
RB_SETPARENT	EQU	( WM_USER + 7 )
if (_WIN32_IE ge 0400h)
RB_HITTEST	EQU	( WM_USER + 8 )
RB_GETRECT	EQU	( WM_USER + 9 )
endif 
RB_INSERTBANDW	EQU	( WM_USER + 10 )
RB_SETBANDINFOW	EQU	( WM_USER + 11 )
RB_GETBANDCOUNT	EQU	( WM_USER + 12 )
RB_GETROWCOUNT	EQU	( WM_USER + 13 )
RB_GETROWHEIGHT	EQU	( WM_USER + 14 )
if (_WIN32_IE ge 0400h)
RB_IDTOINDEX	EQU	( WM_USER + 16 )
RB_GETTOOLTIPS	EQU	( WM_USER + 17 )
RB_SETTOOLTIPS	EQU	( WM_USER + 18 )
RB_SETBKCOLOR	EQU	( WM_USER + 19 )
RB_GETBKCOLOR	EQU	( WM_USER + 20 )
RB_SETTEXTCOLOR	EQU	( WM_USER + 21 )
RB_GETTEXTCOLOR	EQU	( WM_USER + 22 )
if (_WIN32_WINNT ge 0501h)
RBSTR_CHANGERECT	EQU	0001h
endif 
RB_SIZETORECT	EQU	( WM_USER + 23 )
endif 
RB_SETCOLORSCHEME	EQU	<CCM_SETCOLORSCHEME>
RB_GETCOLORSCHEME	EQU	<CCM_GETCOLORSCHEME>
ifdef UNICODE
RB_INSERTBAND	EQU	<RB_INSERTBANDW>
RB_SETBANDINFO	EQU	<RB_SETBANDINFOW>
else 
RB_INSERTBAND	EQU	<RB_INSERTBANDA>
RB_SETBANDINFO	EQU	<RB_SETBANDINFOA>
endif 
if (_WIN32_IE ge 0400h)
RB_BEGINDRAG	EQU	( WM_USER + 24 )
RB_ENDDRAG	EQU	( WM_USER + 25 )
RB_DRAGMOVE	EQU	( WM_USER + 26 )
RB_GETBARHEIGHT	EQU	( WM_USER + 27 )
RB_GETBANDINFOW	EQU	( WM_USER + 28 )
RB_GETBANDINFOA	EQU	( WM_USER + 29 )
ifdef UNICODE
RB_GETBANDINFO	EQU	<RB_GETBANDINFOW>
else 
RB_GETBANDINFO	EQU	<RB_GETBANDINFOA>
endif 
RB_MINIMIZEBAND	EQU	( WM_USER + 30 )
RB_MAXIMIZEBAND	EQU	( WM_USER + 31 )
RB_GETDROPTARGET	EQU	<( CCM_GETDROPTARGET )>
RB_GETBANDBORDERS	EQU	( WM_USER + 34 )
RB_SHOWBAND	EQU	( WM_USER + 35 )
RB_SETPALETTE	EQU	( WM_USER + 37 )
RB_GETPALETTE	EQU	( WM_USER + 38 )
RB_MOVEBAND	EQU	( WM_USER + 39 )
RB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
RB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
if (_WIN32_WINNT ge 501h)
RB_GETBANDMARGINS	EQU	( WM_USER + 40 )
RB_SETWINDOWTHEME	EQU	<CCM_SETWINDOWTHEME>
endif 
if (_WIN32_IE ge 0500h)
RB_PUSHCHEVRON	EQU	( WM_USER + 43 )
endif 
RBN_HEIGHTCHANGE	EQU	( RBN_FIRST - 0 )
if (_WIN32_IE ge 0400h)
RBN_GETOBJECT	EQU	( RBN_FIRST - 1 )
RBN_LAYOUTCHANGED	EQU	( RBN_FIRST - 2 )
RBN_AUTOSIZE	EQU	( RBN_FIRST - 3 )
RBN_BEGINDRAG	EQU	( RBN_FIRST - 4 )
RBN_ENDDRAG	EQU	( RBN_FIRST - 5 )
RBN_DELETINGBAND	EQU	( RBN_FIRST - 6 )
RBN_DELETEDBAND	EQU	( RBN_FIRST - 7 )
RBN_CHILDSIZE	EQU	( RBN_FIRST - 8 )
if (_WIN32_IE ge 0500h)
RBN_CHEVRONPUSHED	EQU	( RBN_FIRST - 10 )
endif 
if (_WIN32_IE ge 0500h)
RBN_MINMAX	EQU	( RBN_FIRST - 21 )
endif 
if (_WIN32_WINNT ge 0501h)
RBN_AUTOBREAK	EQU	( RBN_FIRST - 22 )
endif 
NMREBARCHILDSIZE	struct 
hdr	NMHDR	<>
uBand	DWORD	?
wID	DWORD	?
rcChild	RECT	<>
rcBand	RECT	<>
NMREBARCHILDSIZE	ends

LPNMREBARCHILDSIZE typedef ptr NMREBARCHILDSIZE

NMREBAR	struct 
hdr	NMHDR	<>
dwMask	DWORD	?
uBand	DWORD	?
fStyle	DWORD	?
wID	DWORD	?
lParam	LPARAM	?
NMREBAR	ends

LPNMREBAR typedef ptr NMREBAR

RBNM_ID	EQU	00000001h
RBNM_STYLE	EQU	00000002h
RBNM_LPARAM	EQU	00000004h
NMRBAUTOSIZE	struct 
hdr	NMHDR	<>
fChanged	BOOL	?
rcTarget	RECT	<>
rcActual	RECT	<>
NMRBAUTOSIZE	ends

LPNMRBAUTOSIZE typedef ptr NMRBAUTOSIZE

if (_WIN32_IE ge 0500h)
NMREBARCHEVRON	struct 
hdr	NMHDR	<>
uBand	DWORD	?
wID	DWORD	?
lParam	LPARAM	?
rc	RECT	<>
lParamNM	LPARAM	?
NMREBARCHEVRON	ends

LPNMREBARCHEVRON typedef ptr NMREBARCHEVRON

endif 
if (_WIN32_WINNT ge 0501h)
RBAB_AUTOSIZE	EQU	0001h
RBAB_ADDBAND	EQU	0002h
NMREBARAUTOBREAK	struct 
hdr	NMHDR	<>
uBand	DWORD	?
wID	DWORD	?
lParam	LPARAM	?
uMsg	DWORD	?
fStyleCurrent	DWORD	?
fAutoBreak	BOOL	?
NMREBARAUTOBREAK	ends

LPNMREBARAUTOBREAK typedef ptr NMREBARAUTOBREAK

endif 
RBHT_NOWHERE	EQU	0001h
RBHT_CAPTION	EQU	0002h
RBHT_CLIENT	EQU	0003h
RBHT_GRABBER	EQU	0004h
if (_WIN32_IE ge 0500h)
RBHT_CHEVRON	EQU	0008h
endif 
RBHITTESTINFO	struct 
pt	POINT	<>
flags	DWORD	?
iBand	DWORD	?
RBHITTESTINFO	ends

LPRBHITTESTINFO typedef ptr RBHITTESTINFO

endif 
endif 
endif 
ifndef NOTOOLTIPS
ifdef _WIN32
TOOLTIPS_CLASSW	EQU	<L("tooltips_class32")>
TOOLTIPS_CLASSA	EQU	<"tooltips_class32">
ifdef UNICODE
TOOLTIPS_CLASS	EQU	<TOOLTIPS_CLASSW>
else 
TOOLTIPS_CLASS	EQU	<TOOLTIPS_CLASSA>
endif 
else 
TOOLTIPS_CLASS	EQU	<"tooltips_class">
endif 
if (_WIN32_IE ge 0300h)
LPTOOLINFOA	EQU	<LPTTTOOLINFOA>
LPTOOLINFOW	EQU	<LPTTTOOLINFOW>
TOOLINFOA	EQU	<TTTOOLINFOA>
TOOLINFOW	EQU	<TTTOOLINFOW>
else 
TTTOOLINFOA	EQU	<TOOLINFOA>
LPTTTOOLINFOA	EQU	<LPTOOLINFOA>
TTTOOLINFOW	EQU	<TOOLINFOW>
LPTTTOOLINFOW	EQU	<LPTOOLINFOW>
endif 
LPTOOLINFO	EQU	<LPTTTOOLINFO>
TOOLINFO	EQU	<TTTOOLINFO>
TTTOOLINFOA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOA , lpszText )>
TTTOOLINFOW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOW , lpszText )>
TTTOOLINFOA_V2_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOA , lParam )>
TTTOOLINFOW_V2_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOW , lParam )>
TTTOOLINFOA_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOA , lpReserved )>
TTTOOLINFOW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( TTTOOLINFOW , lpReserved )>
TTTOOLINFOA	struct 
cbSize	DWORD	?
uFlags	DWORD	?
hwnd	HWND	?
uId	UINT_PTR	?
rect	RECT	<>
hinst	HINSTANCE	?
lpszText	LPSTR	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
if (_WIN32_WINNT ge 0501h)
lpReserved	DWORD	?
endif 
TTTOOLINFOA	ends

PTOOLINFOA typedef ptr TTTOOLINFOA
LPTTTOOLINFOA typedef ptr TTTOOLINFOA

TTTOOLINFOW	struct 
cbSize	DWORD	?
uFlags	DWORD	?
hwnd	HWND	?
uId	UINT_PTR	?
rect	RECT	<>
hinst	HINSTANCE	?
lpszText	LPWSTR	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
if (_WIN32_WINNT ge 0501h)
lpReserved	DWORD	?
endif 
TTTOOLINFOW	ends

PTOOLINFOW typedef ptr TTTOOLINFOW
LPTTTOOLINFOW typedef ptr TTTOOLINFOW

ifdef UNICODE
TTTOOLINFO	EQU	<TTTOOLINFOW>
PTOOLINFO	EQU	<PTOOLINFOW>
LPTTTOOLINFO	EQU	<LPTTTOOLINFOW>
TTTOOLINFO_V1_SIZE	EQU	<TTTOOLINFOW_V1_SIZE>
else 
PTOOLINFO	EQU	<PTOOLINFOA>
TTTOOLINFO	EQU	<TTTOOLINFOA>
LPTTTOOLINFO	EQU	<LPTTTOOLINFOA>
TTTOOLINFO_V1_SIZE	EQU	<TTTOOLINFOA_V1_SIZE>
endif 
TTS_ALWAYSTIP	EQU	01h
TTS_NOPREFIX	EQU	02h
if (_WIN32_IE ge 0500h)
TTS_NOANIMATE	EQU	10h
TTS_NOFADE	EQU	20h
TTS_BALLOON	EQU	40h
TTS_CLOSE	EQU	80h
endif 
TTF_IDISHWND	EQU	0001h
TTF_CENTERTIP	EQU	0002h
TTF_RTLREADING	EQU	0004h
TTF_SUBCLASS	EQU	0010h
if (_WIN32_IE ge 0300h)
TTF_TRACK	EQU	0020h
TTF_ABSOLUTE	EQU	0080h
TTF_TRANSPARENT	EQU	0100h
if (_WIN32_IE ge 0501h)
TTF_PARSELINKS	EQU	1000h
endif 
TTF_DI_SETITEM	EQU	8000h
endif 
TTDT_AUTOMATIC	EQU	0
TTDT_RESHOW	EQU	1
TTDT_AUTOPOP	EQU	2
TTDT_INITIAL	EQU	3
TTI_NONE	EQU	0
TTI_INFO	EQU	1
TTI_WARNING	EQU	2
TTI_ERROR	EQU	3
TTM_ACTIVATE	EQU	( WM_USER + 1 )
TTM_SETDELAYTIME	EQU	( WM_USER + 3 )
TTM_ADDTOOLA	EQU	( WM_USER + 4 )
TTM_ADDTOOLW	EQU	( WM_USER + 50 )
TTM_DELTOOLA	EQU	( WM_USER + 5 )
TTM_DELTOOLW	EQU	( WM_USER + 51 )
TTM_NEWTOOLRECTA	EQU	( WM_USER + 6 )
TTM_NEWTOOLRECTW	EQU	( WM_USER + 52 )
TTM_RELAYEVENT	EQU	( WM_USER + 7 )
TTM_GETTOOLINFOA	EQU	( WM_USER + 8 )
TTM_GETTOOLINFOW	EQU	( WM_USER + 53 )
TTM_SETTOOLINFOA	EQU	( WM_USER + 9 )
TTM_SETTOOLINFOW	EQU	( WM_USER + 54 )
TTM_HITTESTA	EQU	( WM_USER + 10 )
TTM_HITTESTW	EQU	( WM_USER + 55 )
TTM_GETTEXTA	EQU	( WM_USER + 11 )
TTM_GETTEXTW	EQU	( WM_USER + 56 )
TTM_UPDATETIPTEXTA	EQU	( WM_USER + 12 )
TTM_UPDATETIPTEXTW	EQU	( WM_USER + 57 )
TTM_GETTOOLCOUNT	EQU	( WM_USER + 13 )
TTM_ENUMTOOLSA	EQU	( WM_USER + 14 )
TTM_ENUMTOOLSW	EQU	( WM_USER + 58 )
TTM_GETCURRENTTOOLA	EQU	( WM_USER + 15 )
TTM_GETCURRENTTOOLW	EQU	( WM_USER + 59 )
TTM_WINDOWFROMPOINT	EQU	( WM_USER + 16 )
if (_WIN32_IE ge 0300h)
TTM_TRACKACTIVATE	EQU	( WM_USER + 17 )
TTM_TRACKPOSITION	EQU	( WM_USER + 18 )
TTM_SETTIPBKCOLOR	EQU	( WM_USER + 19 )
TTM_SETTIPTEXTCOLOR	EQU	( WM_USER + 20 )
TTM_GETDELAYTIME	EQU	( WM_USER + 21 )
TTM_GETTIPBKCOLOR	EQU	( WM_USER + 22 )
TTM_GETTIPTEXTCOLOR	EQU	( WM_USER + 23 )
TTM_SETMAXTIPWIDTH	EQU	( WM_USER + 24 )
TTM_GETMAXTIPWIDTH	EQU	( WM_USER + 25 )
TTM_SETMARGIN	EQU	( WM_USER + 26 )
TTM_GETMARGIN	EQU	( WM_USER + 27 )
TTM_POP	EQU	( WM_USER + 28 )
endif 
if (_WIN32_IE ge 0400h)
TTM_UPDATE	EQU	( WM_USER + 29 )
endif 
if (_WIN32_IE ge 0500h)
TTM_GETBUBBLESIZE	EQU	( WM_USER + 30 )
TTM_ADJUSTRECT	EQU	( WM_USER + 31 )
TTM_SETTITLEA	EQU	( WM_USER + 32 )
TTM_SETTITLEW	EQU	( WM_USER + 33 )
endif 
if (_WIN32_WINNT ge 0501h)
TTM_POPUP	EQU	( WM_USER + 34 )
TTM_GETTITLE	EQU	( WM_USER + 35 )
TTGETTITLE	struct 
dwSize	DWORD	?
uTitleBitmap	DWORD	?
cch	DWORD	?
pszTitle	DWORD	?
TTGETTITLE	ends

PTTGETTITLE typedef ptr TTGETTITLE

endif 
ifdef UNICODE
TTM_ADDTOOL	EQU	<TTM_ADDTOOLW>
TTM_DELTOOL	EQU	<TTM_DELTOOLW>
TTM_NEWTOOLRECT	EQU	<TTM_NEWTOOLRECTW>
TTM_GETTOOLINFO	EQU	<TTM_GETTOOLINFOW>
TTM_SETTOOLINFO	EQU	<TTM_SETTOOLINFOW>
TTM_HITTEST	EQU	<TTM_HITTESTW>
TTM_GETTEXT	EQU	<TTM_GETTEXTW>
TTM_UPDATETIPTEXT	EQU	<TTM_UPDATETIPTEXTW>
TTM_ENUMTOOLS	EQU	<TTM_ENUMTOOLSW>
TTM_GETCURRENTTOOL	EQU	<TTM_GETCURRENTTOOLW>
if (_WIN32_IE ge 0500h)
TTM_SETTITLE	EQU	<TTM_SETTITLEW>
endif 
else 
TTM_ADDTOOL	EQU	<TTM_ADDTOOLA>
TTM_DELTOOL	EQU	<TTM_DELTOOLA>
TTM_NEWTOOLRECT	EQU	<TTM_NEWTOOLRECTA>
TTM_GETTOOLINFO	EQU	<TTM_GETTOOLINFOA>
TTM_SETTOOLINFO	EQU	<TTM_SETTOOLINFOA>
TTM_HITTEST	EQU	<TTM_HITTESTA>
TTM_GETTEXT	EQU	<TTM_GETTEXTA>
TTM_UPDATETIPTEXT	EQU	<TTM_UPDATETIPTEXTA>
TTM_ENUMTOOLS	EQU	<TTM_ENUMTOOLSA>
TTM_GETCURRENTTOOL	EQU	<TTM_GETCURRENTTOOLA>
if (_WIN32_IE ge 0500h)
TTM_SETTITLE	EQU	<TTM_SETTITLEA>
endif 
endif 
if (_WIN32_WINNT ge 501h)
TTM_SETWINDOWTHEME	EQU	<CCM_SETWINDOWTHEME>
endif 
if (_WIN32_IE ge 0300h)
LPHITTESTINFOW	EQU	<LPTTHITTESTINFOW>
LPHITTESTINFOA	EQU	<LPTTHITTESTINFOA>
else 
LPTTHITTESTINFOA	EQU	<LPHITTESTINFOA>
LPTTHITTESTINFOW	EQU	<LPHITTESTINFOW>
endif 
LPHITTESTINFO	EQU	<LPTTHITTESTINFO>
TTHITTESTINFOA	struct 
hwnd	HWND	?
pt	POINT	<>
ti	TTTOOLINFOA	<>
TTHITTESTINFOA	ends

LPTTHITTESTINFOA typedef ptr TTHITTESTINFOA

TTHITTESTINFOW	struct 
hwnd	HWND	?
pt	POINT	<>
ti	TTTOOLINFOW	<>
TTHITTESTINFOW	ends

LPTTHITTESTINFOW typedef ptr TTHITTESTINFOW

ifdef UNICODE
TTHITTESTINFO	EQU	<TTHITTESTINFOW>
LPTTHITTESTINFO	EQU	<LPTTHITTESTINFOW>
else 
TTHITTESTINFO	EQU	<TTHITTESTINFOA>
LPTTHITTESTINFO	EQU	<LPTTHITTESTINFOA>
endif 
TTN_GETDISPINFOA	EQU	( TTN_FIRST - 0 )
TTN_GETDISPINFOW	EQU	( TTN_FIRST - 10 )
TTN_SHOW	EQU	( TTN_FIRST - 1 )
TTN_POP	EQU	( TTN_FIRST - 2 )
TTN_LINKCLICK	EQU	( TTN_FIRST - 3 )
ifdef UNICODE
TTN_GETDISPINFO	EQU	<TTN_GETDISPINFOW>
else 
TTN_GETDISPINFO	EQU	<TTN_GETDISPINFOA>
endif 
TTN_NEEDTEXT	EQU	<TTN_GETDISPINFO>
TTN_NEEDTEXTA	EQU	<TTN_GETDISPINFOA>
TTN_NEEDTEXTW	EQU	<TTN_GETDISPINFOW>
if (_WIN32_IE ge 0300h)
TOOLTIPTEXTW	EQU	<NMTTDISPINFOW>
TOOLTIPTEXTA	EQU	<NMTTDISPINFOA>
LPTOOLTIPTEXTA	EQU	<LPNMTTDISPINFOA>
LPTOOLTIPTEXTW	EQU	<LPNMTTDISPINFOW>
else 
tagNMTTDISPINFOA	EQU	<tagTOOLTIPTEXTA>
NMTTDISPINFOA	EQU	<TOOLTIPTEXTA>
LPNMTTDISPINFOA	EQU	<LPTOOLTIPTEXTA>
tagNMTTDISPINFOW	EQU	<tagTOOLTIPTEXTW>
NMTTDISPINFOW	EQU	<TOOLTIPTEXTW>
LPNMTTDISPINFOW	EQU	<LPTOOLTIPTEXTW>
endif 
TOOLTIPTEXT	EQU	<NMTTDISPINFO>
LPTOOLTIPTEXT	EQU	<LPNMTTDISPINFO>
NMTTDISPINFOA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTTDISPINFOA , uFlags )>
NMTTDISPINFOW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTTDISPINFOW , uFlags )>
NMTTDISPINFOA	struct 
hdr	NMHDR	<>
lpszText	LPSTR	?
szText	SBYTE 80 dup (?)
hinst	HINSTANCE	?
uFlags	DWORD	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
NMTTDISPINFOA	ends

LPNMTTDISPINFOA typedef ptr NMTTDISPINFOA

NMTTDISPINFOW	struct 
hdr	NMHDR	<>
lpszText	LPWSTR	?
szText	WCHAR 80 dup (?)
hinst	HINSTANCE	?
uFlags	DWORD	?
if (_WIN32_IE ge 0300h)
lParam	LPARAM	?
endif 
NMTTDISPINFOW	ends

LPNMTTDISPINFOW typedef ptr NMTTDISPINFOW

ifdef UNICODE
NMTTDISPINFO	EQU	<NMTTDISPINFOW>
LPNMTTDISPINFO	EQU	<LPNMTTDISPINFOW>
NMTTDISPINFO_V1_SIZE	EQU	<NMTTDISPINFOW_V1_SIZE>
else 
NMTTDISPINFO	EQU	<NMTTDISPINFOA>
LPNMTTDISPINFO	EQU	<LPNMTTDISPINFOA>
NMTTDISPINFO_V1_SIZE	EQU	<NMTTDISPINFOA_V1_SIZE>
endif 
endif 
ifndef NOSTATUSBAR
SBARS_SIZEGRIP	EQU	0100h
if (_WIN32_IE ge 0500h)
SBARS_TOOLTIPS	EQU	0800h
endif 
if (_WIN32_IE ge 0400h)
SBT_TOOLTIPS	EQU	0800h
endif 
@DefProto WINCOMMCTRLAPI, DrawStatusTextA, stdcall, , <:HDC, :LPRECT, :LPSTR, :DWORD>, 16
@DefProto WINCOMMCTRLAPI, DrawStatusTextW, stdcall, , <:HDC, :LPRECT, :LPWSTR, :DWORD>, 16
@DefProto WINCOMMCTRLAPI, CreateStatusWindowA, stdcall, , <:SDWORD, :LPSTR, :HWND, :DWORD>, 16
@DefProto WINCOMMCTRLAPI, CreateStatusWindowW, stdcall, , <:SDWORD, :LPWSTR, :HWND, :DWORD>, 16
ifdef UNICODE
CreateStatusWindow	EQU	<CreateStatusWindowW>
DrawStatusText	EQU	<DrawStatusTextW>
else 
CreateStatusWindow	EQU	<CreateStatusWindowA>
DrawStatusText	EQU	<DrawStatusTextA>
endif 
ifdef _WIN32
STATUSCLASSNAMEW	EQU	<L("msctls_statusbar32")>
STATUSCLASSNAMEA	EQU	<"msctls_statusbar32">
ifdef UNICODE
STATUSCLASSNAME	EQU	<STATUSCLASSNAMEW>
else 
STATUSCLASSNAME	EQU	<STATUSCLASSNAMEA>
endif 
else 
STATUSCLASSNAME	EQU	<"msctls_statusbar">
endif 
SB_SETTEXTA	EQU	( WM_USER + 1 )
SB_SETTEXTW	EQU	( WM_USER + 11 )
SB_GETTEXTA	EQU	( WM_USER + 2 )
SB_GETTEXTW	EQU	( WM_USER + 13 )
SB_GETTEXTLENGTHA	EQU	( WM_USER + 3 )
SB_GETTEXTLENGTHW	EQU	( WM_USER + 12 )
ifdef UNICODE
SB_GETTEXT	EQU	<SB_GETTEXTW>
SB_SETTEXT	EQU	<SB_SETTEXTW>
SB_GETTEXTLENGTH	EQU	<SB_GETTEXTLENGTHW>
if (_WIN32_IE ge 0400h)
SB_SETTIPTEXT	EQU	<SB_SETTIPTEXTW>
SB_GETTIPTEXT	EQU	<SB_GETTIPTEXTW>
endif 
else 
SB_GETTEXT	EQU	<SB_GETTEXTA>
SB_SETTEXT	EQU	<SB_SETTEXTA>
SB_GETTEXTLENGTH	EQU	<SB_GETTEXTLENGTHA>
if (_WIN32_IE ge 0400h)
SB_SETTIPTEXT	EQU	<SB_SETTIPTEXTA>
SB_GETTIPTEXT	EQU	<SB_GETTIPTEXTA>
endif 
endif 
SB_SETPARTS	EQU	( WM_USER + 4 )
SB_GETPARTS	EQU	( WM_USER + 6 )
SB_GETBORDERS	EQU	( WM_USER + 7 )
SB_SETMINHEIGHT	EQU	( WM_USER + 8 )
SB_SIMPLE	EQU	( WM_USER + 9 )
SB_GETRECT	EQU	( WM_USER + 10 )
if (_WIN32_IE ge 0300h)
SB_ISSIMPLE	EQU	( WM_USER + 14 )
endif 
if (_WIN32_IE ge 0400h)
SB_SETICON	EQU	( WM_USER + 15 )
SB_SETTIPTEXTA	EQU	( WM_USER + 16 )
SB_SETTIPTEXTW	EQU	( WM_USER + 17 )
SB_GETTIPTEXTA	EQU	( WM_USER + 18 )
SB_GETTIPTEXTW	EQU	( WM_USER + 19 )
SB_GETICON	EQU	( WM_USER + 20 )
SB_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
SB_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
SBT_OWNERDRAW	EQU	1000h
SBT_NOBORDERS	EQU	0100h
SBT_POPOUT	EQU	0200h
SBT_RTLREADING	EQU	0400h
if (_WIN32_IE ge 0500h)
SBT_NOTABPARSING	EQU	0800h
endif 
SB_SETBKCOLOR	EQU	<CCM_SETBKCOLOR>
if (_WIN32_IE ge 0400h)
SBN_SIMPLEMODECHANGE	EQU	( SBN_FIRST - 0 )
endif 
if (_WIN32_IE ge 0500h)
SB_SIMPLEID	EQU	00ffh
endif 
endif 
ifndef NOMENUHELP
@DefProto WINCOMMCTRLAPI, MenuHelp, stdcall, , <:DWORD, :WPARAM, :LPARAM, :HMENU, :HINSTANCE, :HWND, :ptr DWORD>, 28
@DefProto WINCOMMCTRLAPI, ShowHideMenuCtl, stdcall, , <:HWND, :UINT_PTR, :LPINT>, 12
@DefProto WINCOMMCTRLAPI, GetEffectiveClientRect, stdcall, , <:HWND, :LPRECT, :LPINT>, 12
MINSYSCOMMAND	EQU	<SC_SIZE>
endif 
ifndef NOTRACKBAR
ifdef _WIN32
TRACKBAR_CLASSA	EQU	<"msctls_trackbar32">
TRACKBAR_CLASSW	EQU	<L("msctls_trackbar32")>
ifdef UNICODE
TRACKBAR_CLASS	EQU	<TRACKBAR_CLASSW>
else 
TRACKBAR_CLASS	EQU	<TRACKBAR_CLASSA>
endif 
else 
TRACKBAR_CLASS	EQU	<"msctls_trackbar">
endif 
TBS_AUTOTICKS	EQU	0001h
TBS_VERT	EQU	0002h
TBS_HORZ	EQU	0000h
TBS_TOP	EQU	0004h
TBS_BOTTOM	EQU	0000h
TBS_LEFT	EQU	0004h
TBS_RIGHT	EQU	0000h
TBS_BOTH	EQU	0008h
TBS_NOTICKS	EQU	0010h
TBS_ENABLESELRANGE	EQU	0020h
TBS_FIXEDLENGTH	EQU	0040h
TBS_NOTHUMB	EQU	0080h
if (_WIN32_IE ge 0300h)
TBS_TOOLTIPS	EQU	0100h
endif 
if (_WIN32_IE ge 0500h)
TBS_REVERSED	EQU	0200h
endif 
if (_WIN32_IE ge 0501h)
TBS_DOWNISLEFT	EQU	0400h
endif 
TBM_GETPOS	EQU	<( WM_USER )>
TBM_GETRANGEMIN	EQU	( WM_USER + 1 )
TBM_GETRANGEMAX	EQU	( WM_USER + 2 )
TBM_GETTIC	EQU	( WM_USER + 3 )
TBM_SETTIC	EQU	( WM_USER + 4 )
TBM_SETPOS	EQU	( WM_USER + 5 )
TBM_SETRANGE	EQU	( WM_USER + 6 )
TBM_SETRANGEMIN	EQU	( WM_USER + 7 )
TBM_SETRANGEMAX	EQU	( WM_USER + 8 )
TBM_CLEARTICS	EQU	( WM_USER + 9 )
TBM_SETSEL	EQU	( WM_USER + 10 )
TBM_SETSELSTART	EQU	( WM_USER + 11 )
TBM_SETSELEND	EQU	( WM_USER + 12 )
TBM_GETPTICS	EQU	( WM_USER + 14 )
TBM_GETTICPOS	EQU	( WM_USER + 15 )
TBM_GETNUMTICS	EQU	( WM_USER + 16 )
TBM_GETSELSTART	EQU	( WM_USER + 17 )
TBM_GETSELEND	EQU	( WM_USER + 18 )
TBM_CLEARSEL	EQU	( WM_USER + 19 )
TBM_SETTICFREQ	EQU	( WM_USER + 20 )
TBM_SETPAGESIZE	EQU	( WM_USER + 21 )
TBM_GETPAGESIZE	EQU	( WM_USER + 22 )
TBM_SETLINESIZE	EQU	( WM_USER + 23 )
TBM_GETLINESIZE	EQU	( WM_USER + 24 )
TBM_GETTHUMBRECT	EQU	( WM_USER + 25 )
TBM_GETCHANNELRECT	EQU	( WM_USER + 26 )
TBM_SETTHUMBLENGTH	EQU	( WM_USER + 27 )
TBM_GETTHUMBLENGTH	EQU	( WM_USER + 28 )
if (_WIN32_IE ge 0300h)
TBM_SETTOOLTIPS	EQU	( WM_USER + 29 )
TBM_GETTOOLTIPS	EQU	( WM_USER + 30 )
TBM_SETTIPSIDE	EQU	( WM_USER + 31 )
TBTS_TOP	EQU	0
TBTS_LEFT	EQU	1
TBTS_BOTTOM	EQU	2
TBTS_RIGHT	EQU	3
TBM_SETBUDDY	EQU	( WM_USER + 32 )
TBM_GETBUDDY	EQU	( WM_USER + 33 )
endif 
if (_WIN32_IE ge 0400h)
TBM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TBM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
TB_LINEUP	EQU	0
TB_LINEDOWN	EQU	1
TB_PAGEUP	EQU	2
TB_PAGEDOWN	EQU	3
TB_THUMBPOSITION	EQU	4
TB_THUMBTRACK	EQU	5
TB_TOP	EQU	6
TB_BOTTOM	EQU	7
TB_ENDTRACK	EQU	8
if (_WIN32_IE ge 0300h)
TBCD_TICS	EQU	0001h
TBCD_THUMB	EQU	0002h
TBCD_CHANNEL	EQU	0003h
endif 
endif 
ifndef NODRAGLIST
DRAGLISTINFO	struct 
uNotification	DWORD	?
hWnd	HWND	?
ptCursor	POINT	<>
DRAGLISTINFO	ends

LPDRAGLISTINFO typedef ptr DRAGLISTINFO

DL_BEGINDRAG	EQU	( WM_USER + 133 )
DL_DRAGGING	EQU	( WM_USER + 134 )
DL_DROPPED	EQU	( WM_USER + 135 )
DL_CANCELDRAG	EQU	( WM_USER + 136 )
DL_CURSORSET	EQU	0
DL_STOPCURSOR	EQU	1
DL_COPYCURSOR	EQU	2
DL_MOVECURSOR	EQU	3
DRAGLISTMSGSTRING	EQU	<TEXT ( "commctrl_DragListMsg" )>
@DefProto WINCOMMCTRLAPI, MakeDragList, stdcall, , <:HWND>, 4
@DefProto WINCOMMCTRLAPI, DrawInsert, stdcall, , <:HWND, :HWND, :DWORD>, 12
@DefProto WINCOMMCTRLAPI, LBItemFromPt, stdcall, , <:HWND, :POINT, :BOOL>, 16
endif 
ifndef NOUPDOWN
ifdef _WIN32
UPDOWN_CLASSA	EQU	<"msctls_updown32">
UPDOWN_CLASSW	EQU	<L("msctls_updown32")>
ifdef UNICODE
UPDOWN_CLASS	EQU	<UPDOWN_CLASSW>
else 
UPDOWN_CLASS	EQU	<UPDOWN_CLASSA>
endif 
else 
UPDOWN_CLASS	EQU	<"msctls_updown">
endif 
UDACCEL	struct 
nSec	DWORD	?
nInc	DWORD	?
UDACCEL	ends

LPUDACCEL typedef ptr UDACCEL

UD_MAXVAL	EQU	7fffh
UD_MINVAL	EQU	( - UD_MAXVAL )
UDS_WRAP	EQU	0001h
UDS_SETBUDDYINT	EQU	0002h
UDS_ALIGNRIGHT	EQU	0004h
UDS_ALIGNLEFT	EQU	0008h
UDS_AUTOBUDDY	EQU	0010h
UDS_ARROWKEYS	EQU	0020h
UDS_HORZ	EQU	0040h
UDS_NOTHOUSANDS	EQU	0080h
if (_WIN32_IE ge 0300h)
UDS_HOTTRACK	EQU	0100h
endif 
UDM_SETRANGE	EQU	( WM_USER + 101 )
UDM_GETRANGE	EQU	( WM_USER + 102 )
UDM_SETPOS	EQU	( WM_USER + 103 )
UDM_GETPOS	EQU	( WM_USER + 104 )
UDM_SETBUDDY	EQU	( WM_USER + 105 )
UDM_GETBUDDY	EQU	( WM_USER + 106 )
UDM_SETACCEL	EQU	( WM_USER + 107 )
UDM_GETACCEL	EQU	( WM_USER + 108 )
UDM_SETBASE	EQU	( WM_USER + 109 )
UDM_GETBASE	EQU	( WM_USER + 110 )
if (_WIN32_IE ge 0400h)
UDM_SETRANGE32	EQU	( WM_USER + 111 )
UDM_GETRANGE32	EQU	( WM_USER + 112 )
UDM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
UDM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
endif 
if (_WIN32_IE ge 0500h)
UDM_SETPOS32	EQU	( WM_USER + 113 )
UDM_GETPOS32	EQU	( WM_USER + 114 )
endif 
@DefProto WINCOMMCTRLAPI, CreateUpDownControl, stdcall, , <:DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :HWND, :DWORD, :HINSTANCE, :HWND, :DWORD, :DWORD, :DWORD>, 48
if (_WIN32_IE ge 0300h)
NM_UPDOWN	EQU	<NMUPDOWN>
LPNM_UPDOWN	EQU	<LPNMUPDOWN>
else 
NMUPDOWN	EQU	<NM_UPDOWN>
LPNMUPDOWN	EQU	<LPNM_UPDOWN>
endif 
NMUPDOWN	struct 
hdr	NMHDR	<>
iPos	DWORD	?
iDelta	DWORD	?
NMUPDOWN	ends

LPNMUPDOWN typedef ptr NMUPDOWN

UDN_DELTAPOS	EQU	( UDN_FIRST - 1 )
endif 
ifndef NOPROGRESS
ifdef _WIN32
PROGRESS_CLASSA	EQU	<"msctls_progress32">
PROGRESS_CLASSW	EQU	<L("msctls_progress32")>
ifdef UNICODE
PROGRESS_CLASS	EQU	<PROGRESS_CLASSW>
else 
PROGRESS_CLASS	EQU	<PROGRESS_CLASSA>
endif 
else 
PROGRESS_CLASS	EQU	<"msctls_progress">
endif 
if (_WIN32_IE ge 0300h)
PBS_SMOOTH	EQU	01h
PBS_VERTICAL	EQU	04h
endif 
PBM_SETRANGE	EQU	( WM_USER + 1 )
PBM_SETPOS	EQU	( WM_USER + 2 )
PBM_DELTAPOS	EQU	( WM_USER + 3 )
PBM_SETSTEP	EQU	( WM_USER + 4 )
PBM_STEPIT	EQU	( WM_USER + 5 )
if (_WIN32_IE ge 0300h)
PBM_SETRANGE32	EQU	( WM_USER + 6 )
PBRANGE	struct 
iLow	DWORD	?
iHigh	DWORD	?
PBRANGE	ends

PPBRANGE typedef ptr PBRANGE

PBM_GETRANGE	EQU	( WM_USER + 7 )
PBM_GETPOS	EQU	( WM_USER + 8 )
if (_WIN32_IE ge 0400h)
PBM_SETBARCOLOR	EQU	( WM_USER + 9 )
endif 
PBM_SETBKCOLOR	EQU	<CCM_SETBKCOLOR>
endif 
endif 
ifndef NOHOTKEY
HOTKEYF_SHIFT	EQU	01h
HOTKEYF_CONTROL	EQU	02h
HOTKEYF_ALT	EQU	04h
ifdef _MAC
HOTKEYF_EXT	EQU	80h
else 
HOTKEYF_EXT	EQU	08h
endif 
HKCOMB_NONE	EQU	0001h
HKCOMB_S	EQU	0002h
HKCOMB_C	EQU	0004h
HKCOMB_A	EQU	0008h
HKCOMB_SC	EQU	0010h
HKCOMB_SA	EQU	0020h
HKCOMB_CA	EQU	0040h
HKCOMB_SCA	EQU	0080h
HKM_SETHOTKEY	EQU	( WM_USER + 1 )
HKM_GETHOTKEY	EQU	( WM_USER + 2 )
HKM_SETRULES	EQU	( WM_USER + 3 )
ifdef _WIN32
HOTKEY_CLASSA	EQU	<"msctls_hotkey32">
HOTKEY_CLASSW	EQU	<L("msctls_hotkey32")>
ifdef UNICODE
HOTKEY_CLASS	EQU	<HOTKEY_CLASSW>
else 
HOTKEY_CLASS	EQU	<HOTKEY_CLASSA>
endif 
else 
HOTKEY_CLASS	EQU	<"msctls_hotkey">
endif 
endif 
CCS_TOP	EQU	00000001h
CCS_NOMOVEY	EQU	00000002h
CCS_BOTTOM	EQU	00000003h
CCS_NORESIZE	EQU	00000004h
CCS_NOPARENTALIGN	EQU	00000008h
CCS_ADJUSTABLE	EQU	00000020h
CCS_NODIVIDER	EQU	00000040h
if (_WIN32_IE ge 0300h)
CCS_VERT	EQU	00000080h
CCS_LEFT	EQU	( CCS_VERT  or  CCS_TOP )
CCS_RIGHT	EQU	( CCS_VERT  or  CCS_BOTTOM )
CCS_NOMOVEX	EQU	( CCS_VERT  or  CCS_NOMOVEY )
endif 
ifndef NOLISTVIEW
ifdef _WIN32
WC_LISTVIEWA	EQU	<"SysListView32">
WC_LISTVIEWW	EQU	<L("SysListView32")>
ifdef UNICODE
WC_LISTVIEW	EQU	<WC_LISTVIEWW>
else 
WC_LISTVIEW	EQU	<WC_LISTVIEWA>
endif 
else 
WC_LISTVIEW	EQU	<"SysListView">
endif 
LVS_ICON	EQU	0000h
LVS_REPORT	EQU	0001h
LVS_SMALLICON	EQU	0002h
LVS_LIST	EQU	0003h
LVS_TYPEMASK	EQU	0003h
LVS_SINGLESEL	EQU	0004h
LVS_SHOWSELALWAYS	EQU	0008h
LVS_SORTASCENDING	EQU	0010h
LVS_SORTDESCENDING	EQU	0020h
LVS_SHAREIMAGELISTS	EQU	0040h
LVS_NOLABELWRAP	EQU	0080h
LVS_AUTOARRANGE	EQU	0100h
LVS_EDITLABELS	EQU	0200h
if (_WIN32_IE ge 0300h)
LVS_OWNERDATA	EQU	1000h
endif 
LVS_NOSCROLL	EQU	2000h
LVS_TYPESTYLEMASK	EQU	0fc00h
LVS_ALIGNTOP	EQU	0000h
LVS_ALIGNLEFT	EQU	0800h
LVS_ALIGNMASK	EQU	0c00h
LVS_OWNERDRAWFIXED	EQU	0400h
LVS_NOCOLUMNHEADER	EQU	4000h
LVS_NOSORTHEADER	EQU	8000h
if (_WIN32_IE ge 0400h)
LVM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
ListView_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , LVM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
LVM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
ListView_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
LVM_GETBKCOLOR	EQU	( LVM_FIRST + 0 )
ListView_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETBKCOLOR , 0 , 0 ) >
	endm
LVM_SETBKCOLOR	EQU	( LVM_FIRST + 1 )
ListView_SetBkColor macro hwnd,clrBk
	exitm <SNDMSG ( ( hwnd ) , LVM_SETBKCOLOR , 0 , ( clrBk ) ) >
	endm
LVM_GETIMAGELIST	EQU	( LVM_FIRST + 2 )
ListView_GetImageList macro hwnd,iImageList
	exitm <SNDMSG ( ( hwnd ) , LVM_GETIMAGELIST , ( iImageList ) , 0 ) >
	endm
LVSIL_NORMAL	EQU	0
LVSIL_SMALL	EQU	1
LVSIL_STATE	EQU	2
LVM_SETIMAGELIST	EQU	( LVM_FIRST + 3 )
ListView_SetImageList macro hwnd,himl,iImageList
	exitm <SNDMSG ( ( hwnd ) , LVM_SETIMAGELIST , ( iImageList ) , ( himl ) ) >
	endm
LVM_GETITEMCOUNT	EQU	( LVM_FIRST + 4 )
ListView_GetItemCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEMCOUNT , 0 , 0 ) >
	endm
LVIF_TEXT	EQU	0001h
LVIF_IMAGE	EQU	0002h
LVIF_PARAM	EQU	0004h
LVIF_STATE	EQU	0008h
if (_WIN32_IE ge 0300h)
LVIF_INDENT	EQU	0010h
LVIF_NORECOMPUTE	EQU	0800h
endif 
if (_WIN32_WINNT ge 501h)
LVIF_GROUPID	EQU	0100h
LVIF_COLUMNS	EQU	0200h
endif 
LVIS_FOCUSED	EQU	0001h
LVIS_SELECTED	EQU	0002h
LVIS_CUT	EQU	0004h
LVIS_DROPHILITED	EQU	0008h
LVIS_GLOW	EQU	0010h
LVIS_ACTIVATING	EQU	0020h
LVIS_OVERLAYMASK	EQU	0F00h
LVIS_STATEIMAGEMASK	EQU	0F000h
INDEXTOSTATEIMAGEMASK macro i
	exitm <( ( i )  shl  12 ) >
	endm
if (_WIN32_IE ge 0300h)
I_INDENTCALLBACK	EQU	- 1
LV_ITEMA	EQU	<LVITEMA>
LV_ITEMW	EQU	<LVITEMW>
else 
tagLVITEMA	EQU	<_LV_ITEMA>
LVITEMA	EQU	<LV_ITEMA>
tagLVITEMW	EQU	<_LV_ITEMW>
LVITEMW	EQU	<LV_ITEMW>
endif 
if (_WIN32_WINNT ge 501h)
I_GROUPIDCALLBACK	EQU	- 1
I_GROUPIDNONE	EQU	- 2
endif 
LV_ITEM	EQU	<LVITEM>
LVITEMA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVITEMA , lParam )>
LVITEMW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVITEMW , lParam )>
LVITEMA	struct
mask_	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iIndent	DWORD	?
endif 
if (_WIN32_WINNT ge 501h)
iGroupId	DWORD	?
cColumns	DWORD	?
puColumns	PUINT	?
endif 
LVITEMA	ends

LPLVITEMA typedef ptr LVITEMA

LVITEMW	struct 
mask_	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
if (_WIN32_IE ge 0300h)
iIndent	DWORD	?
endif 
if (_WIN32_WINNT ge 501h)
iGroupId	DWORD	?
cColumns	DWORD	?
puColumns	PUINT	?
endif 
LVITEMW	ends

LPLVITEMW typedef ptr LVITEMW

ifdef UNICODE
LVITEM	EQU	<LVITEMW>
LPLVITEM	EQU	<LPLVITEMW>
LVITEM_V1_SIZE	EQU	<LVITEMW_V1_SIZE>
else 
LVITEM	EQU	<LVITEMA>
LPLVITEM	EQU	<LPLVITEMA>
LVITEM_V1_SIZE	EQU	<LVITEMA_V1_SIZE>
endif 
LPSTR_TEXTCALLBACKW	EQU	- 1
LPSTR_TEXTCALLBACKA	EQU	- 1
ifdef UNICODE
LPSTR_TEXTCALLBACK	EQU	<LPSTR_TEXTCALLBACKW>
else 
LPSTR_TEXTCALLBACK	EQU	<LPSTR_TEXTCALLBACKA>
endif 
I_IMAGECALLBACK	EQU	- 1
if (_WIN32_IE ge 0501h)
I_IMAGENONE	EQU	- 2
endif 
if (_WIN32_WINNT ge 501h)
I_COLUMNSCALLBACK	EQU	- 1
endif 
LVM_GETITEMA	EQU	( LVM_FIRST + 5 )
LVM_GETITEMW	EQU	( LVM_FIRST + 75 )
ifdef UNICODE
LVM_GETITEM	EQU	<LVM_GETITEMW>
else 
LVM_GETITEM	EQU	<LVM_GETITEMA>
endif 
ListView_GetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEM , 0 , < pitem > ) >
	endm
LVM_SETITEMA	EQU	( LVM_FIRST + 6 )
LVM_SETITEMW	EQU	( LVM_FIRST + 76 )
ifdef UNICODE
LVM_SETITEM	EQU	<LVM_SETITEMW>
else 
LVM_SETITEM	EQU	<LVM_SETITEMA>
endif 
ListView_SetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_SETITEM , 0 , <pitem> ) >
	endm
LVM_INSERTITEMA	EQU	( LVM_FIRST + 7 )
LVM_INSERTITEMW	EQU	( LVM_FIRST + 77 )
ifdef UNICODE
LVM_INSERTITEM	EQU	<LVM_INSERTITEMW>
else 
LVM_INSERTITEM	EQU	<LVM_INSERTITEMA>
endif 
ListView_InsertItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTITEM , 0 , <pitem> ) >
	endm
LVM_DELETEITEM	EQU	( LVM_FIRST + 8 )
ListView_DeleteItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETEITEM , ( i ) , 0 ) >
	endm
LVM_DELETEALLITEMS	EQU	( LVM_FIRST + 9 )
ListView_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETEALLITEMS , 0 , 0 ) >
	endm
LVM_GETCALLBACKMASK	EQU	( LVM_FIRST + 10 )
ListView_GetCallbackMask macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCALLBACKMASK , 0 , 0 ) >
	endm
LVM_SETCALLBACKMASK	EQU	( LVM_FIRST + 11 )
ListView_SetCallbackMask macro hwnd,mask_
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCALLBACKMASK , ( mask_ ) , 0 ) >
	endm
LVNI_ALL	EQU	0000h
LVNI_FOCUSED	EQU	0001h
LVNI_SELECTED	EQU	0002h
LVNI_CUT	EQU	0004h
LVNI_DROPHILITED	EQU	0008h
LVNI_ABOVE	EQU	0100h
LVNI_BELOW	EQU	0200h
LVNI_TOLEFT	EQU	0400h
LVNI_TORIGHT	EQU	0800h
LVM_GETNEXTITEM	EQU	( LVM_FIRST + 12 )
ListView_GetNextItem macro hwnd,i,flags
	exitm <SNDMSG ( ( hwnd ) , LVM_GETNEXTITEM , ( i ) , flags ) >
	endm
LVFI_PARAM	EQU	0001h
LVFI_STRING	EQU	0002h
LVFI_PARTIAL	EQU	0008h
LVFI_WRAP	EQU	0020h
LVFI_NEARESTXY	EQU	0040h
if (_WIN32_IE ge 0300h)
LV_FINDINFOA	EQU	<LVFINDINFOA>
LV_FINDINFOW	EQU	<LVFINDINFOW>
else 
tagLVFINDINFOA	EQU	<_LV_FINDINFOA>
LVFINDINFOA	EQU	<LV_FINDINFOA>
tagLVFINDINFOW	EQU	<_LV_FINDINFOW>
LVFINDINFOW	EQU	<LV_FINDINFOW>
endif 
LV_FINDINFO	EQU	<LVFINDINFO>
LVFINDINFOA	struct 
flags	DWORD	?
psz	LPSTR	?
lParam	LPARAM	?
pt	POINT	<>
vkDirection	DWORD	?
LVFINDINFOA	ends

LPFINDINFOA typedef ptr LVFINDINFOA

LVFINDINFOW	struct 
flags	DWORD	?
psz	LPWSTR	?
lParam	LPARAM	?
pt	POINT	<>
vkDirection	DWORD	?
LVFINDINFOW	ends

LPFINDINFOW typedef ptr LVFINDINFOW

ifdef UNICODE
LVFINDINFO	EQU	<LVFINDINFOW>
else 
LVFINDINFO	EQU	<LVFINDINFOA>
endif 
LVM_FINDITEMA	EQU	( LVM_FIRST + 13 )
LVM_FINDITEMW	EQU	( LVM_FIRST + 83 )
ifdef UNICODE
LVM_FINDITEM	EQU	<LVM_FINDITEMW>
else 
LVM_FINDITEM	EQU	<LVM_FINDITEMA>
endif 
ListView_FindItem macro hwnd,iStart,plvfi
	exitm <SNDMSG ( ( hwnd ) , LVM_FINDITEM , ( iStart ) , <plvfi> ) >
	endm
LVIR_BOUNDS	EQU	0
LVIR_ICON	EQU	1
LVIR_LABEL	EQU	2
LVIR_SELECTBOUNDS	EQU	3
LVM_GETITEMRECT	EQU	( LVM_FIRST + 14 )
ListView_GetItemRect macro hwnd,i,prc,code
	push ecx
	mov  ecx, prc
	push code
	pop [ecx].RECT.left
	pop ecx
	exitm <SNDMSG ( ( hwnd ) , LVM_GETITEMRECT , ( i ) , <prc> ) >
	endm
LVM_SETITEMPOSITION	EQU	( LVM_FIRST + 15 )
ListView_SetItemPosition macro hwndLV,i,x,y
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMPOSITION , ( i ) , MAKELPARAM ( ( x ) , ( y ) ) ) >
	endm
LVM_GETITEMPOSITION	EQU	( LVM_FIRST + 16 )
ListView_GetItemPosition macro hwndLV,i,ppt
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMPOSITION , ( i ) , <ppt> ) >
	endm
LVM_GETSTRINGWIDTHA	EQU	( LVM_FIRST + 17 )
LVM_GETSTRINGWIDTHW	EQU	( LVM_FIRST + 87 )
ifdef UNICODE
LVM_GETSTRINGWIDTH	EQU	<LVM_GETSTRINGWIDTHW>
else 
LVM_GETSTRINGWIDTH	EQU	<LVM_GETSTRINGWIDTHA>
endif 
ListView_GetStringWidth macro hwndLV,psz
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETSTRINGWIDTH , 0 , <psz> ) >
	endm
LVHT_NOWHERE	EQU	0001h
LVHT_ONITEMICON	EQU	0002h
LVHT_ONITEMLABEL	EQU	0004h
LVHT_ONITEMSTATEICON	EQU	0008h
LVHT_ONITEM	EQU	( LVHT_ONITEMICON  or  LVHT_ONITEMLABEL  or  LVHT_ONITEMSTATEICON )
LVHT_ABOVE	EQU	0008h
LVHT_BELOW	EQU	0010h
LVHT_TORIGHT	EQU	0020h
LVHT_TOLEFT	EQU	0040h
if (_WIN32_IE ge 0300h)
LV_HITTESTINFO	EQU	<LVHITTESTINFO>
else 
tagLVHITTESTINFO	EQU	<_LV_HITTESTINFO>
LVHITTESTINFO	EQU	<LV_HITTESTINFO>
endif 
LVHITTESTINFO_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVHITTESTINFO , iItem )>
LVHITTESTINFO	struct 
pt	POINT	<>
flags	DWORD	?
iItem	DWORD	?
if (_WIN32_IE ge 0300h)
iSubItem	DWORD	?
endif 
LVHITTESTINFO	ends

LPLVHITTESTINFO typedef ptr LVHITTESTINFO

LVM_HITTEST	EQU	( LVM_FIRST + 18 )
ListView_HitTest macro hwndLV,pinfo
	exitm <SNDMSG ( ( hwndLV ) , LVM_HITTEST , 0 , <pinfo> ) >
	endm
LVM_ENSUREVISIBLE	EQU	( LVM_FIRST + 19 )
ListView_EnsureVisible macro hwndLV,i,fPartialOK
	exitm <SNDMSG ( ( hwndLV ) , LVM_ENSUREVISIBLE , ( i ) , MAKELPARAM ( ( fPartialOK ) , 0 ) ) >
	endm
LVM_SCROLL	EQU	( LVM_FIRST + 20 )
ListView_Scroll macro hwndLV,dx_,dy
	exitm <SNDMSG ( ( hwndLV ) , LVM_SCROLL , ( dx_ ) , ( dy ) ) >
	endm
LVM_REDRAWITEMS	EQU	( LVM_FIRST + 21 )
ListView_RedrawItems macro hwndLV,iFirst,iLast
	exitm <SNDMSG ( ( hwndLV ) , LVM_REDRAWITEMS , ( iFirst ) , ( iLast ) ) >
	endm
LVA_DEFAULT	EQU	0000h
LVA_ALIGNLEFT	EQU	0001h
LVA_ALIGNTOP	EQU	0002h
LVA_SNAPTOGRID	EQU	0005h
LVM_ARRANGE	EQU	( LVM_FIRST + 22 )
ListView_Arrange macro hwndLV,code
	exitm <SNDMSG ( ( hwndLV ) , LVM_ARRANGE , ( code ) , 0 ) >
	endm
LVM_EDITLABELA	EQU	( LVM_FIRST + 23 )
LVM_EDITLABELW	EQU	( LVM_FIRST + 118 )
ifdef UNICODE
LVM_EDITLABEL	EQU	<LVM_EDITLABELW>
else 
LVM_EDITLABEL	EQU	<LVM_EDITLABELA>
endif 
ListView_EditLabel macro hwndLV,i
	exitm <SNDMSG ( ( hwndLV ) , LVM_EDITLABEL , ( i ) , 0 ) >
	endm
LVM_GETEDITCONTROL	EQU	( LVM_FIRST + 24 )
ListView_GetEditControl macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETEDITCONTROL , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
LV_COLUMNA	EQU	<LVCOLUMNA>
LV_COLUMNW	EQU	<LVCOLUMNW>
else 
tagLVCOLUMNA	EQU	<_LV_COLUMNA>
LVCOLUMNA	EQU	<LV_COLUMNA>
tagLVCOLUMNW	EQU	<_LV_COLUMNW>
LVCOLUMNW	EQU	<LV_COLUMNW>
endif 
LV_COLUMN	EQU	<LVCOLUMN>
LVCOLUMNA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVCOLUMNA , iSubItem )>
LVCOLUMNW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( LVCOLUMNW , iSubItem )>
LVCOLUMNA	struct 
mask_	DWORD	?
fmt	DWORD	?
cx_	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iSubItem	DWORD	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
LVCOLUMNA	ends

LPLVCOLUMNA typedef ptr LVCOLUMNA

LVCOLUMNW	struct 
mask_	DWORD	?
fmt	DWORD	?
cx_	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iSubItem	DWORD	?
if (_WIN32_IE ge 0300h)
iImage	DWORD	?
iOrder	DWORD	?
endif 
LVCOLUMNW	ends

LPLVCOLUMNW typedef ptr LVCOLUMNW

ifdef UNICODE
LVCOLUMN	EQU	<LVCOLUMNW>
LPLVCOLUMN	EQU	<LPLVCOLUMNW>
LVCOLUMN_V1_SIZE	EQU	<LVCOLUMNW_V1_SIZE>
else 
LVCOLUMN	EQU	<LVCOLUMNA>
LPLVCOLUMN	EQU	<LPLVCOLUMNA>
LVCOLUMN_V1_SIZE	EQU	<LVCOLUMNA_V1_SIZE>
endif 
LVCF_FMT	EQU	0001h
LVCF_WIDTH	EQU	0002h
LVCF_TEXT	EQU	0004h
LVCF_SUBITEM	EQU	0008h
if (_WIN32_IE ge 0300h)
LVCF_IMAGE	EQU	0010h
LVCF_ORDER	EQU	0020h
endif 
LVCFMT_LEFT	EQU	0000h
LVCFMT_RIGHT	EQU	0001h
LVCFMT_CENTER	EQU	0002h
LVCFMT_JUSTIFYMASK	EQU	0003h
if (_WIN32_IE ge 0300h)
LVCFMT_IMAGE	EQU	0800h
LVCFMT_BITMAP_ON_RIGHT	EQU	1000h
LVCFMT_COL_HAS_IMAGES	EQU	8000h
endif 
LVM_GETCOLUMNA	EQU	( LVM_FIRST + 25 )
LVM_GETCOLUMNW	EQU	( LVM_FIRST + 95 )
ifdef UNICODE
LVM_GETCOLUMN	EQU	<LVM_GETCOLUMNW>
else 
LVM_GETCOLUMN	EQU	<LVM_GETCOLUMNA>
endif 
ListView_GetColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_SETCOLUMNA	EQU	( LVM_FIRST + 26 )
LVM_SETCOLUMNW	EQU	( LVM_FIRST + 96 )
ifdef UNICODE
LVM_SETCOLUMN	EQU	<LVM_SETCOLUMNW>
else 
LVM_SETCOLUMN	EQU	<LVM_SETCOLUMNA>
endif 
ListView_SetColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_INSERTCOLUMNA	EQU	( LVM_FIRST + 27 )
LVM_INSERTCOLUMNW	EQU	( LVM_FIRST + 97 )
ifdef UNICODE
LVM_INSERTCOLUMN	EQU	<LVM_INSERTCOLUMNW>
else 
LVM_INSERTCOLUMN	EQU	<LVM_INSERTCOLUMNA>
endif 
ListView_InsertColumn macro hwnd,iCol,pcol
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTCOLUMN , ( iCol ) , <pcol> ) >
	endm
LVM_DELETECOLUMN	EQU	( LVM_FIRST + 28 )
ListView_DeleteColumn macro hwnd,iCol
	exitm <SNDMSG ( ( hwnd ) , LVM_DELETECOLUMN , ( iCol ) , 0 ) >
	endm
LVM_GETCOLUMNWIDTH	EQU	( LVM_FIRST + 29 )
ListView_GetColumnWidth macro hwnd,iCol
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMNWIDTH , ( iCol ) , 0 ) >
	endm
LVSCW_AUTOSIZE	EQU	- 1
LVSCW_AUTOSIZE_USEHEADER	EQU	- 2
LVM_SETCOLUMNWIDTH	EQU	( LVM_FIRST + 30 )
ListView_SetColumnWidth macro hwnd,iCol,cx_
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMNWIDTH , ( iCol ) , cx_ ) >
	endm
if (_WIN32_IE ge 0300h)
LVM_GETHEADER	EQU	( LVM_FIRST + 31 )
ListView_GetHeader macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETHEADER , 0 , 0 ) >
	endm
endif 
LVM_CREATEDRAGIMAGE	EQU	( LVM_FIRST + 33 )
ListView_CreateDragImage macro hwnd,i,lpptUpLeft
	exitm <SNDMSG ( ( hwnd ) , LVM_CREATEDRAGIMAGE , ( i ) , <lpptUpLeft> ) >
	endm
LVM_GETVIEWRECT	EQU	( LVM_FIRST + 34 )
ListView_GetViewRect macro hwnd,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_GETVIEWRECT , 0 , <prc> ) >
	endm
LVM_GETTEXTCOLOR	EQU	( LVM_FIRST + 35 )
ListView_GetTextColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTEXTCOLOR , 0 , 0 ) >
	endm
LVM_SETTEXTCOLOR	EQU	( LVM_FIRST + 36 )
ListView_SetTextColor macro hwnd,clrText
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTEXTCOLOR , 0 , ( clrText ) ) >
	endm
LVM_GETTEXTBKCOLOR	EQU	( LVM_FIRST + 37 )
ListView_GetTextBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTEXTBKCOLOR , 0 , 0 ) >
	endm
LVM_SETTEXTBKCOLOR	EQU	( LVM_FIRST + 38 )
ListView_SetTextBkColor macro hwnd,clrTextBk
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTEXTBKCOLOR , 0 , ( clrTextBk ) ) >
	endm
LVM_GETTOPINDEX	EQU	( LVM_FIRST + 39 )
ListView_GetTopIndex macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETTOPINDEX , 0 , 0 ) >
	endm
LVM_GETCOUNTPERPAGE	EQU	( LVM_FIRST + 40 )
ListView_GetCountPerPage macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETCOUNTPERPAGE , 0 , 0 ) >
	endm
LVM_GETORIGIN	EQU	( LVM_FIRST + 41 )
ListView_GetOrigin macro hwndLV,ppt
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETORIGIN , 0 , <ppt> ) >
	endm
LVM_UPDATE	EQU	( LVM_FIRST + 42 )
ListView_Update macro hwndLV,i
	exitm <SNDMSG ( ( hwndLV ) , LVM_UPDATE , ( i ) , 0 ) >
	endm
LVM_SETITEMSTATE	EQU	( LVM_FIRST + 43 )
;ListView_SetItemState macro hwndLV,i,data,mask
;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.stateMask = mask ; _ms_lvi.state = data ; SNDMSG ( ( hwndLV ) , LVM_SETITEMSTATE , ( i ) , ( LV_ITEM * )  and  _ms_lvi ) ; } >
;	endm
ListView_SetItemState macro hwndLV,i,data,mask_
;;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.stateMask = mask ; _ms_lvi.state = data ; SNDMSG ( ( hwndLV ) , LVM_SETITEMSTATE , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.state,data
	mov [esp].LV_ITEM.stateMask,mask_
	invoke SendMessage,hwndLV,LVM_SETITEMSTATE,i,esp
	add esp,sizeof LV_ITEM
	endm
if (_WIN32_IE ge 0300h)
ListView_SetCheckState macro hwndLV,i,fCheck
	exitm <ListView_SetItemState ( hwndLV , i , INDEXTOSTATEIMAGEMASK ( ( fCheck ) ?2 : 1 ) , LVIS_STATEIMAGEMASK ) >
	endm
endif 
LVM_GETITEMSTATE	EQU	( LVM_FIRST + 44 )
ListView_GetItemState macro hwndLV,i,mask_
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMSTATE , ( i ) , ( mask_ ) ) >
	endm
if (_WIN32_IE ge 0300h)
ListView_GetCheckState macro hwndLV,i
	invoke SendMessage,hwndLV,LVM_GETITEMSTATE,i, LVIS_STATEIMAGEMASK
	shr eax,12
    dec eax
	endm
endif 
LVM_GETITEMTEXTA	EQU	( LVM_FIRST + 45 )
LVM_GETITEMTEXTW	EQU	( LVM_FIRST + 115 )
ifdef UNICODE
LVM_GETITEMTEXT	EQU	<LVM_GETITEMTEXTW>
else 
LVM_GETITEMTEXT	EQU	<LVM_GETITEMTEXTA>
endif 
ListView_GetItemText macro hwndLV,i,iSubItem_,pszText_,cchTextMax_
;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.iSubItem = iSubItem_ ; _ms_lvi.cchTextMax = cchTextMax_ ; _ms_lvi.pszText = pszText_ ; SNDMSG ( ( hwndLV ) , LVM_GETITEMTEXT , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.iSubItem,iSubItem_
	mov [esp].LV_ITEM.pszText,pszText_
	mov [esp].LV_ITEM.cchTextMax,cchTextMax_
	invoke SendMessage,hwndLV,LVM_GETITEMTEXT,i,esp
	add esp,sizeof LV_ITEM
	endm
LVM_SETITEMTEXTA	EQU	( LVM_FIRST + 46 )
LVM_SETITEMTEXTW	EQU	( LVM_FIRST + 116 )
ifdef UNICODE
LVM_SETITEMTEXT	EQU	<LVM_SETITEMTEXTW>
else 
LVM_SETITEMTEXT	EQU	<LVM_SETITEMTEXTA>
endif 
ListView_SetItemText macro hwndLV,i,iSubItem_,pszText_
;;	exitm <{ LV_ITEM _ms_lvi ; _ms_lvi.iSubItem = iSubItem_ ; _ms_lvi.pszText = pszText_ ; SNDMSG ( ( hwndLV ) , LVM_SETITEMTEXT , i , ( LV_ITEM FAR * )  and  _ms_lvi ) ; } >
	sub esp,sizeof LV_ITEM
	mov [esp].LV_ITEM.iSubItem,iSubItem_
	mov [esp].LV_ITEM.pszText,pszText_
	invoke SendMessage,hwndLV,LVM_SETITEMTEXT,i,esp
	add esp,sizeof LV_ITEM
	endm
if (_WIN32_IE ge 0300h)
LVSICF_NOINVALIDATEALL	EQU	00000001h
LVSICF_NOSCROLL	EQU	00000002h
endif 
LVM_SETITEMCOUNT	EQU	( LVM_FIRST + 47 )
ListView_SetItemCount macro hwndLV,cItems
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMCOUNT , ( cItems ) , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
ListView_SetItemCountEx macro hwndLV,cItems,dwFlags
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETITEMCOUNT , cItems , dwFlags ) >
	endm
endif 
proto_PFNLVCOMPARE typedef proto WINSTDCALLCONV :LPARAM,:LPARAM,:LPARAM
PFNLVCOMPARE typedef ptr proto_PFNLVCOMPARE
LVM_SORTITEMS	EQU	( LVM_FIRST + 48 )
ListView_SortItems macro hwndLV,_pfnCompare,_lPrm
	exitm <SNDMSG ( ( hwndLV ) , LVM_SORTITEMS , _lPrm , _pfnCompare ) >
	endm
LVM_SETITEMPOSITION32	EQU	( LVM_FIRST + 49 )
ListView_SetItemPosition32 macro hwndLV,i,x0,y0
;	exitm <{ POINT ptNewPos ; ptNewPos.x = x0 ; ptNewPos.y = y0 ; SNDMSG ( ( hwndLV ) , LVM_SETITEMPOSITION32 , ( i ) ,  and  ptNewPos ) ; } >
	sub esp,sizeof POINT
	mov [esp].POINT.x, x0
	mov [esp].POINT.y, y0
	invoke SendMessage,hwndLV,LVM_SETITEMPOSITION32,i,esp
	add esp,sizeof POINT
	endm
LVM_GETSELECTEDCOUNT	EQU	( LVM_FIRST + 50 )
ListView_GetSelectedCount macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETSELECTEDCOUNT , 0 , 0 ) >
	endm
LVM_GETITEMSPACING	EQU	( LVM_FIRST + 51 )
ListView_GetItemSpacing macro hwndLV,fSmall
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETITEMSPACING , fSmall , 0 ) >
	endm
LVM_GETISEARCHSTRINGA	EQU	( LVM_FIRST + 52 )
LVM_GETISEARCHSTRINGW	EQU	( LVM_FIRST + 117 )
ifdef UNICODE
LVM_GETISEARCHSTRING	EQU	<LVM_GETISEARCHSTRINGW>
else 
LVM_GETISEARCHSTRING	EQU	<LVM_GETISEARCHSTRINGA>
endif 
ListView_GetISearchString macro hwndLV,lpsz
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETISEARCHSTRING , 0 , <lpsz> ) >
	endm
if (_WIN32_IE ge 0300h)
LVM_SETICONSPACING	EQU	( LVM_FIRST + 53 )
ListView_SetIconSpacing macro hwndLV,cx_,cy
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETICONSPACING , 0 , MAKELONG ( cx_ , cy ) ) >
	endm
LVM_SETEXTENDEDLISTVIEWSTYLE	EQU	( LVM_FIRST + 54 )
ListView_SetExtendedListViewStyle macro hwndLV,dw_
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETEXTENDEDLISTVIEWSTYLE , 0 , dw_ ) >
	endm
if (_WIN32_IE ge 0400h)
ListView_SetExtendedListViewStyleEx macro hwndLV,dwMask,dw_
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETEXTENDEDLISTVIEWSTYLE , dwMask , dw_ ) >
	endm
endif 
LVM_GETEXTENDEDLISTVIEWSTYLE	EQU	( LVM_FIRST + 55 )
ListView_GetExtendedListViewStyle macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETEXTENDEDLISTVIEWSTYLE , 0 , 0 ) >
	endm
LVS_EX_GRIDLINES	EQU	00000001h
LVS_EX_SUBITEMIMAGES	EQU	00000002h
LVS_EX_CHECKBOXES	EQU	00000004h
LVS_EX_TRACKSELECT	EQU	00000008h
LVS_EX_HEADERDRAGDROP	EQU	00000010h
LVS_EX_FULLROWSELECT	EQU	00000020h
LVS_EX_ONECLICKACTIVATE	EQU	00000040h
LVS_EX_TWOCLICKACTIVATE	EQU	00000080h
if (_WIN32_IE ge 0400h)
LVS_EX_FLATSB	EQU	00000100h
LVS_EX_REGIONAL	EQU	00000200h
LVS_EX_INFOTIP	EQU	00000400h
LVS_EX_UNDERLINEHOT	EQU	00000800h
LVS_EX_UNDERLINECOLD	EQU	00001000h
LVS_EX_MULTIWORKAREAS	EQU	00002000h
endif 
if (_WIN32_IE ge 0500h)
LVS_EX_LABELTIP	EQU	00004000h
LVS_EX_BORDERSELECT	EQU	00008000h
endif 
if (_WIN32_WINNT ge 501h)
LVS_EX_DOUBLEBUFFER	EQU	00010000h
LVS_EX_HIDELABELS	EQU	00020000h
LVS_EX_SINGLEROW	EQU	00040000h
LVS_EX_SNAPTOGRID	EQU	00080000h
LVS_EX_SIMPLESELECT	EQU	00100000h
endif 
LVM_GETSUBITEMRECT	EQU	( LVM_FIRST + 56 )
ListView_GetSubItemRect macro hwnd,iItem,iSubItem,code,prc
;;	exitm <SNDMSG ( ( hwnd ) , LVM_GETSUBITEMRECT , ( iItem ) , ( ( prc ) ? ( ( ( ( LPRECT ) ( prc ) ) -> top = iSubItem ) , ( ( ( LPRECT ) ( prc ) ) -> left = code ) , ( prc ) ) : ( LPRECT ) NULL ) ) >
	push ecx
    mov ecx, prc
    push code
    pop [ecx].RECT.left
    push iSubItem
    pop [ecx].RECT.top
    pop ecx
	exitm <SNDMSG ( ( hwnd ) , LVM_GETSUBITEMRECT , ( iItem ) , <prc> ) >
	endm
LVM_SUBITEMHITTEST	EQU	( LVM_FIRST + 57 )
ListView_SubItemHitTest macro hwnd,plvhti
	exitm <SNDMSG ( ( hwnd ) , LVM_SUBITEMHITTEST , 0 , <plvhti> ) >
	endm
LVM_SETCOLUMNORDERARRAY	EQU	( LVM_FIRST + 58 )
ListView_SetColumnOrderArray macro hwnd,iCount,pi
	exitm <SNDMSG ( ( hwnd ) , LVM_SETCOLUMNORDERARRAY , ( iCount ) , <pi> ) >
	endm
LVM_GETCOLUMNORDERARRAY	EQU	( LVM_FIRST + 59 )
ListView_GetColumnOrderArray macro hwnd,iCount,pi
	exitm <SNDMSG ( ( hwnd ) , LVM_GETCOLUMNORDERARRAY , ( iCount ) , <pi> ) >
	endm
LVM_SETHOTITEM	EQU	( LVM_FIRST + 60 )
ListView_SetHotItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_SETHOTITEM , ( i ) , 0 ) >
	endm
LVM_GETHOTITEM	EQU	( LVM_FIRST + 61 )
ListView_GetHotItem macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETHOTITEM , 0 , 0 ) >
	endm
LVM_SETHOTCURSOR	EQU	( LVM_FIRST + 62 )
ListView_SetHotCursor macro hwnd,hcur
	exitm <( HCURSOR ) SNDMSG ( ( hwnd ) , LVM_SETHOTCURSOR , 0 , ( hcur ) ) >
	endm
LVM_GETHOTCURSOR	EQU	( LVM_FIRST + 63 )
ListView_GetHotCursor macro hwnd
	exitm <( HCURSOR ) SNDMSG ( ( hwnd ) , LVM_GETHOTCURSOR , 0 , 0 ) >
	endm
LVM_APPROXIMATEVIEWRECT	EQU	( LVM_FIRST + 64 )
ListView_ApproximateViewRect macro hwnd,iWidth,iHeight,iCount
	exitm <SNDMSG ( ( hwnd ) , LVM_APPROXIMATEVIEWRECT , iCount , MAKELPARAM ( iWidth , iHeight ) ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
LV_MAX_WORKAREAS	EQU	16
LVM_SETWORKAREAS	EQU	( LVM_FIRST + 65 )
ListView_SetWorkAreas macro hwnd,nWorkAreas,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_SETWORKAREAS , ( nWorkAreas ) , <prc> ) >
	endm
LVM_GETWORKAREAS	EQU	( LVM_FIRST + 70 )
ListView_GetWorkAreas macro hwnd,nWorkAreas,prc
	exitm <SNDMSG ( ( hwnd ) , LVM_GETWORKAREAS , ( nWorkAreas ) , <prc> ) >
	endm
LVM_GETNUMBEROFWORKAREAS	EQU	( LVM_FIRST + 73 )
ListView_GetNumberOfWorkAreas macro hwnd,pnWorkAreas
	exitm <SNDMSG ( ( hwnd ) , LVM_GETNUMBEROFWORKAREAS , 0 , ( pnWorkAreas ) ) >
	endm
LVM_GETSELECTIONMARK	EQU	( LVM_FIRST + 66 )
ListView_GetSelectionMark macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETSELECTIONMARK , 0 , 0 ) >
	endm
LVM_SETSELECTIONMARK	EQU	( LVM_FIRST + 67 )
ListView_SetSelectionMark macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , LVM_SETSELECTIONMARK , 0 , ( i ) ) >
	endm
LVM_SETHOVERTIME	EQU	( LVM_FIRST + 71 )
ListView_SetHoverTime macro hwndLV,dwHoverTimeMs
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETHOVERTIME , 0 , ( dwHoverTimeMs ) ) >
	endm
LVM_GETHOVERTIME	EQU	( LVM_FIRST + 72 )
ListView_GetHoverTime macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETHOVERTIME , 0 , 0 ) >
	endm
LVM_SETTOOLTIPS	EQU	( LVM_FIRST + 74 )
ListView_SetToolTips macro hwndLV,hwndNewHwnd
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETTOOLTIPS , ( hwndNewHwnd ) , 0 ) >
	endm
LVM_GETTOOLTIPS	EQU	( LVM_FIRST + 78 )
ListView_GetToolTips macro hwndLV
	exitm <SNDMSG ( ( hwndLV ) , LVM_GETTOOLTIPS , 0 , 0 ) >
	endm
LVM_SORTITEMSEX	EQU	( LVM_FIRST + 81 )
ListView_SortItemsEx macro hwndLV,_pfnCompare,_lPrm
	exitm <SNDMSG ( ( hwndLV ) , LVM_SORTITEMSEX , ( _lPrm ) , ( _pfnCompare ) ) >
	endm
LVBKIMAGEA	struct 
ulFlags	DWORD	?
hbm	HBITMAP	?
pszImage	LPSTR	?
cchImageMax	DWORD	?
xOffsetPercent	DWORD	?
yOffsetPercent	DWORD	?
LVBKIMAGEA	ends

LPLVBKIMAGEA typedef ptr LVBKIMAGEA

LVBKIMAGEW	struct 
ulFlags	DWORD	?
hbm	HBITMAP	?
pszImage	LPWSTR	?
cchImageMax	DWORD	?
xOffsetPercent	DWORD	?
yOffsetPercent	DWORD	?
LVBKIMAGEW	ends

LPLVBKIMAGEW typedef ptr LVBKIMAGEW

LVBKIF_SOURCE_NONE	EQU	00000000h
LVBKIF_SOURCE_HBITMAP	EQU	00000001h
LVBKIF_SOURCE_URL	EQU	00000002h
LVBKIF_SOURCE_MASK	EQU	00000003h
LVBKIF_STYLE_NORMAL	EQU	00000000h
LVBKIF_STYLE_TILE	EQU	00000010h
LVBKIF_STYLE_MASK	EQU	00000010h
if (_WIN32_WINNT ge 501h)
LVBKIF_FLAG_TILEOFFSET	EQU	00000100h
LVBKIF_TYPE_WATERMARK	EQU	10000000h
endif 
LVM_SETBKIMAGEA	EQU	( LVM_FIRST + 68 )
LVM_SETBKIMAGEW	EQU	( LVM_FIRST + 138 )
LVM_GETBKIMAGEA	EQU	( LVM_FIRST + 69 )
LVM_GETBKIMAGEW	EQU	( LVM_FIRST + 139 )
if (_WIN32_WINNT ge 501h)
LVM_SETSELECTEDCOLUMN	EQU	( LVM_FIRST + 140 )
ListView_SetSelectedColumn macro hwnd,iCol
	exitm <SNDMSG ( ( hwnd ) , LVM_SETSELECTEDCOLUMN , iCol , 0 ) >
	endm
LVM_SETTILEWIDTH	EQU	( LVM_FIRST + 141 )
ListView_SetTileWidth macro hwnd,cpWidth
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTILEWIDTH , cpWidth , 0 ) >
	endm
LV_VIEW_ICON	EQU	0000h
LV_VIEW_DETAILS	EQU	0001h
LV_VIEW_SMALLICON	EQU	0002h
LV_VIEW_LIST	EQU	0003h
LV_VIEW_TILE	EQU	0004h
LV_VIEW_MAX	EQU	0004h
LVM_SETVIEW	EQU	( LVM_FIRST + 142 )
ListView_SetView macro hwnd,iView
	exitm <SNDMSG ( ( hwnd ) , LVM_SETVIEW , iView , 0 ) >
	endm
LVM_GETVIEW	EQU	( LVM_FIRST + 143 )
ListView_GetView macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETVIEW , 0 , 0 ) >
	endm
LVGF_NONE	EQU	00000000h
LVGF_HEADER	EQU	00000001h
LVGF_FOOTER	EQU	00000002h
LVGF_STATE	EQU	00000004h
LVGF_ALIGN	EQU	00000008h
LVGF_GROUPID	EQU	00000010h
LVGS_NORMAL	EQU	00000000h
LVGS_COLLAPSED	EQU	00000001h
LVGS_HIDDEN	EQU	00000002h
LVGA_HEADER_LEFT	EQU	00000001h
LVGA_HEADER_CENTER	EQU	00000002h
LVGA_HEADER_RIGHT	EQU	00000004h
LVGA_FOOTER_LEFT	EQU	00000008h
LVGA_FOOTER_CENTER	EQU	00000010h
LVGA_FOOTER_RIGHT	EQU	00000020h
LVGROUP	struct 
cbSize	DWORD	?
mask_	DWORD	?
pszHeader	LPWSTR	?
cchHeader	DWORD	?
pszFooter	LPWSTR	?
cchFooter	DWORD	?
iGroupId	DWORD	?
stateMask	DWORD	?
state	DWORD	?
uAlign	DWORD	?
LVGROUP	ends

PLVGROUP typedef ptr LVGROUP

LVM_INSERTGROUP	EQU	( LVM_FIRST + 145 )
ListView_InsertGroup macro hwnd,index,pgrp
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTGROUP , index , pgrp ) >
	endm
LVM_SETGROUPINFO	EQU	( LVM_FIRST + 147 )
ListView_SetGroupInfo macro hwnd,iGroupId,pgrp
	exitm <SNDMSG ( ( hwnd ) , LVM_SETGROUPINFO , iGroupId , pgrp ) >
	endm
LVM_GETGROUPINFO	EQU	( LVM_FIRST + 149 )
ListView_GetGroupInfo macro hwnd,iGroupId,pgrp
	exitm <SNDMSG ( ( hwnd ) , LVM_GETGROUPINFO , iGroupId , pgrp ) >
	endm
LVM_REMOVEGROUP	EQU	( LVM_FIRST + 150 )
ListView_RemoveGroup macro hwnd,iGroupId
	exitm <SNDMSG ( ( hwnd ) , LVM_REMOVEGROUP , iGroupId , 0 ) >
	endm
LVM_MOVEGROUP	EQU	( LVM_FIRST + 151 )
ListView_MoveGroup macro hwnd,iGroupId,toIndex
	exitm <SNDMSG ( ( hwnd ) , LVM_MOVEGROUP , iGroupId , toIndex ) >
	endm
LVM_MOVEITEMTOGROUP	EQU	( LVM_FIRST + 154 )
ListView_MoveItemToGroup macro hwnd,idItemFrom,idGroupTo
	exitm <SNDMSG ( ( hwnd ) , LVM_MOVEITEMTOGROUP , idItemFrom , idGroupTo ) >
	endm
LVGMF_NONE	EQU	00000000h
LVGMF_BORDERSIZE	EQU	00000001h
LVGMF_BORDERCOLOR	EQU	00000002h
LVGMF_TEXTCOLOR	EQU	00000004h
LVGROUPMETRICS	struct 
cbSize	DWORD	?
mask_	DWORD	?
Left	DWORD	?
Top	DWORD	?
Right	DWORD	?
Bottom	DWORD	?
crLeft	COLORREF	?
crTop	COLORREF	?
crRight	COLORREF	?
crBottom	COLORREF	?
crHeader	COLORREF	?
crFooter	COLORREF	?
LVGROUPMETRICS	ends

PLVGROUPMETRICS typedef ptr LVGROUPMETRICS

LVM_SETGROUPMETRICS	EQU	( LVM_FIRST + 155 )
ListView_SetGroupMetrics macro hwnd,pGroupMetrics
	exitm <SNDMSG ( ( hwnd ) , LVM_SETGROUPMETRICS , 0 , pGroupMetrics ) >
	endm
LVM_GETGROUPMETRICS	EQU	( LVM_FIRST + 156 )
ListView_GetGroupMetrics macro hwnd,pGroupMetrics
	exitm <SNDMSG ( ( hwnd ) , LVM_GETGROUPMETRICS , 0 , pGroupMetrics ) >
	endm
LVM_ENABLEGROUPVIEW	EQU	( LVM_FIRST + 157 )
ListView_EnableGroupView macro hwnd,fEnable
	exitm <SNDMSG ( ( hwnd ) , LVM_ENABLEGROUPVIEW , fEnable , 0 ) >
	endm
proto_PFNLVGROUPCOMPARE typedef proto WINSTDCALLCONV :DWORD,:DWORD,:ptr 
PFNLVGROUPCOMPARE typedef ptr proto_PFNLVGROUPCOMPARE
LVM_SORTGROUPS	EQU	( LVM_FIRST + 158 )
ListView_SortGroups macro hwnd,_pfnGroupCompate,_plv
	exitm <SNDMSG ( ( hwnd ) , LVM_SORTGROUPS , _pfnGroupCompate , _plv ) >
	endm
LVINSERTGROUPSORTED	struct 
pfnGroupCompare	PFNLVGROUPCOMPARE	?
pvData	DWORD	?
lvGroup	LVGROUP	<>
LVINSERTGROUPSORTED	ends

PLVINSERTGROUPSORTED typedef ptr LVINSERTGROUPSORTED

LVM_INSERTGROUPSORTED	EQU	( LVM_FIRST + 159 )
ListView_InsertGroupSorted macro hwnd,structInsert
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTGROUPSORTED , structInsert , 0 ) >
	endm
LVM_REMOVEALLGROUPS	EQU	( LVM_FIRST + 160 )
ListView_RemoveAllGroups macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_REMOVEALLGROUPS , 0 , 0 ) >
	endm
LVM_HASGROUP	EQU	( LVM_FIRST + 161 )
ListView_HasGroup macro hwnd,dwGroupId
	exitm <SNDMSG ( ( hwnd ) , LVM_HASGROUP , dwGroupId , 0 ) >
	endm
LVTVIF_AUTOSIZE	EQU	00000000h
LVTVIF_FIXEDWIDTH	EQU	00000001h
LVTVIF_FIXEDHEIGHT	EQU	00000002h
LVTVIF_FIXEDSIZE	EQU	00000003h
LVTVIM_TILESIZE	EQU	00000001h
LVTVIM_COLUMNS	EQU	00000002h
LVTVIM_LABELMARGIN	EQU	00000004h
LVTILEVIEWINFO	struct 
cbSize	DWORD	?
dwMask	DWORD	?
dwFlags	DWORD	?
sizeTile	SIZE_	<>
cLines	DWORD	?
rcLabelMargin	RECT	<>
LVTILEVIEWINFO	ends

PLVTILEVIEWINFO typedef ptr LVTILEVIEWINFO

LVTILEINFO	struct 
cbSize	DWORD	?
iItem	DWORD	?
cColumns	DWORD	?
puColumns	PUINT	?
LVTILEINFO	ends

PLVTILEINFO typedef ptr LVTILEINFO

LVM_SETTILEVIEWINFO	EQU	( LVM_FIRST + 162 )
ListView_SetTileViewInfo macro hwnd,ptvi
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTILEVIEWINFO , 0 , ptvi ) >
	endm
LVM_GETTILEVIEWINFO	EQU	( LVM_FIRST + 163 )
ListView_GetTileViewInfo macro hwnd,ptvi
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTILEVIEWINFO , 0 , ptvi ) >
	endm
LVM_SETTILEINFO	EQU	( LVM_FIRST + 164 )
ListView_SetTileInfo macro hwnd,pti
	exitm <SNDMSG ( ( hwnd ) , LVM_SETTILEINFO , 0 , pti ) >
	endm
LVM_GETTILEINFO	EQU	( LVM_FIRST + 165 )
ListView_GetTileInfo macro hwnd,pti
	exitm <SNDMSG ( ( hwnd ) , LVM_GETTILEINFO , 0 , pti ) >
	endm
LVINSERTMARK	struct 
cbSize	DWORD	?
dwFlags	DWORD	?
iItem	DWORD	?
dwReserved	DWORD	?
LVINSERTMARK	ends

LPLVINSERTMARK typedef ptr LVINSERTMARK

LVIM_AFTER	EQU	00000001h
LVM_SETINSERTMARK	EQU	( LVM_FIRST + 166 )
ListView_SetInsertMark macro hwnd,lvim
	exitm <SNDMSG ( ( hwnd ) , LVM_SETINSERTMARK , 0 , ( lvim ) ) >
	endm
LVM_GETINSERTMARK	EQU	( LVM_FIRST + 167 )
ListView_GetInsertMark macro hwnd,lvim
	exitm <SNDMSG ( ( hwnd ) , LVM_GETINSERTMARK , 0 , ( lvim ) ) >
	endm
LVM_INSERTMARKHITTEST	EQU	( LVM_FIRST + 168 )
ListView_InsertMarkHitTest macro hwnd,point,lvim
	exitm <SNDMSG ( ( hwnd ) , LVM_INSERTMARKHITTEST , ( point ) , ( lvim ) ) >
	endm
LVM_GETINSERTMARKRECT	EQU	( LVM_FIRST + 169 )
ListView_GetInsertMarkRect macro hwnd,rc
	exitm <SNDMSG ( ( hwnd ) , LVM_GETINSERTMARKRECT , 0 , ( rc ) ) >
	endm
LVM_SETINSERTMARKCOLOR	EQU	( LVM_FIRST + 170 )
ListView_SetInsertMarkColor macro hwnd,color
	exitm <SNDMSG ( ( hwnd ) , LVM_SETINSERTMARKCOLOR , 0 , ( color ) ) >
	endm
LVM_GETINSERTMARKCOLOR	EQU	( LVM_FIRST + 171 )
ListView_GetInsertMarkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETINSERTMARKCOLOR , 0 , 0 ) >
	endm
LVSETINFOTIP	struct 
cbSize	DWORD	?
dwFlags	DWORD	?
pszText	LPWSTR	?
iItem	DWORD	?
iSubItem	DWORD	?
LVSETINFOTIP	ends

PLVSETINFOTIP typedef ptr LVSETINFOTIP

LVM_SETINFOTIP	EQU	( LVM_FIRST + 173 )
ListView_SetInfoTip macro hwndLV,plvInfoTip
	exitm <SNDMSG ( ( hwndLV ) , LVM_SETINFOTIP , 0 , plvInfoTip ) >
	endm
LVM_GETSELECTEDCOLUMN	EQU	( LVM_FIRST + 174 )
ListView_GetSelectedColumn macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETSELECTEDCOLUMN , 0 , 0 ) >
	endm
LVM_ISGROUPVIEWENABLED	EQU	( LVM_FIRST + 175 )
ListView_IsGroupViewEnabled macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_ISGROUPVIEWENABLED , 0 , 0 ) >
	endm
LVM_GETOUTLINECOLOR	EQU	( LVM_FIRST + 176 )
ListView_GetOutlineColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_GETOUTLINECOLOR , 0 , 0 ) >
	endm
LVM_SETOUTLINECOLOR	EQU	( LVM_FIRST + 177 )
ListView_SetOutlineColor macro hwnd,color
	exitm <SNDMSG ( ( hwnd ) , LVM_SETOUTLINECOLOR , 0 , ( color ) ) >
	endm
LVM_CANCELEDITLABEL	EQU	( LVM_FIRST + 179 )
ListView_CancelEditLabel macro hwnd
	exitm <SNDMSG ( ( hwnd ) , LVM_CANCELEDITLABEL , 0 , 0 ) >
	endm
LVM_MAPINDEXTOID	EQU	( LVM_FIRST + 180 )
ListView_MapIndexToID macro hwnd,index
	exitm <SNDMSG ( ( hwnd ) , LVM_MAPINDEXTOID , index , 0 ) >
	endm
LVM_MAPIDTOINDEX	EQU	( LVM_FIRST + 181 )
ListView_MapIDToIndex macro hwnd,id
	exitm <SNDMSG ( ( hwnd ) , LVM_MAPIDTOINDEX , id , 0 ) >
	endm
endif 
ifdef UNICODE
LVBKIMAGE	EQU	<LVBKIMAGEW>
LPLVBKIMAGE	EQU	<LPLVBKIMAGEW>
LVM_SETBKIMAGE	EQU	<LVM_SETBKIMAGEW>
LVM_GETBKIMAGE	EQU	<LVM_GETBKIMAGEW>
else 
LVBKIMAGE	EQU	<LVBKIMAGEA>
LPLVBKIMAGE	EQU	<LPLVBKIMAGEA>
LVM_SETBKIMAGE	EQU	<LVM_SETBKIMAGEA>
LVM_GETBKIMAGE	EQU	<LVM_GETBKIMAGEA>
endif 
ListView_SetBkImage macro hwnd,plvbki
	exitm <SNDMSG ( ( hwnd ) , LVM_SETBKIMAGE , 0 , ( plvbki ) ) >
	endm
ListView_GetBkImage macro hwnd,plvbki
	exitm <SNDMSG ( ( hwnd ) , LVM_GETBKIMAGE , 0 , ( plvbki ) ) >
	endm
endif 
if (_WIN32_IE ge 0300h)
LPNM_LISTVIEW	EQU	<LPNMLISTVIEW>
NM_LISTVIEW	EQU	<NMLISTVIEW>
else 
tagNMLISTVIEW	EQU	<_NM_LISTVIEW>
NMLISTVIEW	EQU	<NM_LISTVIEW>
LPNMLISTVIEW	EQU	<LPNM_LISTVIEW>
endif 
NMLISTVIEW	struct 
hdr	NMHDR	<>
iItem	DWORD	?
iSubItem	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
uChanged	DWORD	?
ptAction	POINT	<>
lParam	LPARAM	?
NMLISTVIEW	ends

LPNMLISTVIEW typedef ptr NMLISTVIEW

if (_WIN32_IE ge 400h)
NMITEMACTIVATE	struct 
hdr	NMHDR	<>
iItem	DWORD	?
iSubItem	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
uChanged	DWORD	?
ptAction	POINT	<>
lParam	LPARAM	?
uKeyFlags	DWORD	?
NMITEMACTIVATE	ends

LPNMITEMACTIVATE typedef ptr NMITEMACTIVATE

LVKF_ALT	EQU	0001h
LVKF_CONTROL	EQU	0002h
LVKF_SHIFT	EQU	0004h
endif 
if (_WIN32_IE ge 0300h)
NMLVCUSTOMDRAW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( NMLVCUSTOMDRW , clrTextBk )>
NMLVCUSTOMDRAW	struct 
nmcd	NMCUSTOMDRAW	<>
clrText	COLORREF	?
clrTextBk	COLORREF	?
if (_WIN32_IE ge 0400h)
iSubItem	DWORD	?
endif 
if (_WIN32_WINNT ge 501h)
dwItemType	DWORD	?
clrFace	COLORREF	?
iIconEffect	DWORD	?
iIconPhase	DWORD	?
iPartId	DWORD	?
iStateId	DWORD	?
rcText	RECT	<>
uAlign	DWORD	?
endif 
NMLVCUSTOMDRAW	ends

LPNMLVCUSTOMDRAW typedef ptr NMLVCUSTOMDRAW

LVCDI_ITEM	EQU	00000000h
LVCDI_GROUP	EQU	00000001h
LVCDRF_NOSELECT	EQU	00010000h
LVCDRF_NOGROUPFRAME	EQU	00020000h
NMLVCACHEHINT	struct 
hdr	NMHDR	<>
iFrom	DWORD	?
iTo	DWORD	?
NMLVCACHEHINT	ends

LPNMLVCACHEHINT typedef ptr NMLVCACHEHINT

LPNM_CACHEHINT	EQU	<LPNMLVCACHEHINT>
PNM_CACHEHINT	EQU	<LPNMLVCACHEHINT>
NM_CACHEHINT	EQU	<NMLVCACHEHINT>
NMLVFINDITEMA	struct 
hdr	NMHDR	<>
iStart	DWORD	?
lvfi	LVFINDINFOA	<>
NMLVFINDITEMA	ends

LPNMLVFINDITEMA typedef ptr NMLVFINDITEMA

NMLVFINDITEMW	struct 
hdr	NMHDR	<>
iStart	DWORD	?
lvfi	LVFINDINFOW	<>
NMLVFINDITEMW	ends

LPNMLVFINDITEMW typedef ptr NMLVFINDITEMW

PNM_FINDITEMA	EQU	<LPNMLVFINDITEMA>
LPNM_FINDITEMA	EQU	<LPNMLVFINDITEMA>
NM_FINDITEMA	EQU	<NMLVFINDITEMA>
PNM_FINDITEMW	EQU	<LPNMLVFINDITEMW>
LPNM_FINDITEMW	EQU	<LPNMLVFINDITEMW>
NM_FINDITEMW	EQU	<NMLVFINDITEMW>
ifdef UNICODE
PNM_FINDITEM	EQU	<PNM_FINDITEMW>
LPNM_FINDITEM	EQU	<LPNM_FINDITEMW>
NM_FINDITEM	EQU	<NM_FINDITEMW>
NMLVFINDITEM	EQU	<NMLVFINDITEMW>
LPNMLVFINDITEM	EQU	<LPNMLVFINDITEMW>
else 
PNM_FINDITEM	EQU	<PNM_FINDITEMA>
LPNM_FINDITEM	EQU	<LPNM_FINDITEMA>
NM_FINDITEM	EQU	<NM_FINDITEMA>
NMLVFINDITEM	EQU	<NMLVFINDITEMA>
LPNMLVFINDITEM	EQU	<LPNMLVFINDITEMA>
endif 
NMLVODSTATECHANGE	struct 
hdr	NMHDR	<>
iFrom	DWORD	?
iTo	DWORD	?
uNewState	DWORD	?
uOldState	DWORD	?
NMLVODSTATECHANGE	ends

LPNMLVODSTATECHANGE typedef ptr NMLVODSTATECHANGE

PNM_ODSTATECHANGE	EQU	<LPNMLVODSTATECHANGE>
LPNM_ODSTATECHANGE	EQU	<LPNMLVODSTATECHANGE>
NM_ODSTATECHANGE	EQU	<NMLVODSTATECHANGE>
endif 
LVN_ITEMCHANGING	EQU	( LVN_FIRST - 0 )
LVN_ITEMCHANGED	EQU	( LVN_FIRST - 1 )
LVN_INSERTITEM	EQU	( LVN_FIRST - 2 )
LVN_DELETEITEM	EQU	( LVN_FIRST - 3 )
LVN_DELETEALLITEMS	EQU	( LVN_FIRST - 4 )
LVN_BEGINLABELEDITA	EQU	( LVN_FIRST - 5 )
LVN_BEGINLABELEDITW	EQU	( LVN_FIRST - 75 )
LVN_ENDLABELEDITA	EQU	( LVN_FIRST - 6 )
LVN_ENDLABELEDITW	EQU	( LVN_FIRST - 76 )
LVN_COLUMNCLICK	EQU	( LVN_FIRST - 8 )
LVN_BEGINDRAG	EQU	( LVN_FIRST - 9 )
LVN_BEGINRDRAG	EQU	( LVN_FIRST - 11 )
if (_WIN32_IE ge 0300h)
LVN_ODCACHEHINT	EQU	( LVN_FIRST - 13 )
LVN_ODFINDITEMA	EQU	( LVN_FIRST - 52 )
LVN_ODFINDITEMW	EQU	( LVN_FIRST - 79 )
LVN_ITEMACTIVATE	EQU	( LVN_FIRST - 14 )
LVN_ODSTATECHANGED	EQU	( LVN_FIRST - 15 )
ifdef UNICODE
LVN_ODFINDITEM	EQU	<LVN_ODFINDITEMW>
else 
LVN_ODFINDITEM	EQU	<LVN_ODFINDITEMA>
endif 
endif 
if (_WIN32_IE ge 0400h)
LVN_HOTTRACK	EQU	( LVN_FIRST - 21 )
endif 
LVN_GETDISPINFOA	EQU	( LVN_FIRST - 50 )
LVN_GETDISPINFOW	EQU	( LVN_FIRST - 77 )
LVN_SETDISPINFOA	EQU	( LVN_FIRST - 51 )
LVN_SETDISPINFOW	EQU	( LVN_FIRST - 78 )
ifdef UNICODE
LVN_BEGINLABELEDIT	EQU	<LVN_BEGINLABELEDITW>
LVN_ENDLABELEDIT	EQU	<LVN_ENDLABELEDITW>
LVN_GETDISPINFO	EQU	<LVN_GETDISPINFOW>
LVN_SETDISPINFO	EQU	<LVN_SETDISPINFOW>
else 
LVN_BEGINLABELEDIT	EQU	<LVN_BEGINLABELEDITA>
LVN_ENDLABELEDIT	EQU	<LVN_ENDLABELEDITA>
LVN_GETDISPINFO	EQU	<LVN_GETDISPINFOA>
LVN_SETDISPINFO	EQU	<LVN_SETDISPINFOA>
endif 
LVIF_DI_SETITEM	EQU	1000h
if (_WIN32_IE ge 0300h)
LV_DISPINFOA	EQU	<NMLVDISPINFOA>
LV_DISPINFOW	EQU	<NMLVDISPINFOW>
else 
tagLVDISPINFO	EQU	<_LV_DISPINFO>
NMLVDISPINFOA	EQU	<LV_DISPINFOA>
tagLVDISPINFOW	EQU	<_LV_DISPINFOW>
NMLVDISPINFOW	EQU	<LV_DISPINFOW>
endif 
LV_DISPINFO	EQU	<NMLVDISPINFO>
NMLVDISPINFOA	struct 
hdr	NMHDR	<>
item	LVITEMA	<>
NMLVDISPINFOA	ends

LPNMLVDISPINFOA typedef ptr NMLVDISPINFOA

NMLVDISPINFOW	struct 
hdr	NMHDR	<>
item	LVITEMW	<>
NMLVDISPINFOW	ends

LPNMLVDISPINFOW typedef ptr NMLVDISPINFOW

ifdef UNICODE
NMLVDISPINFO	EQU	<NMLVDISPINFOW>
else 
NMLVDISPINFO	EQU	<NMLVDISPINFOA>
endif 
LVN_KEYDOWN	EQU	( LVN_FIRST - 55 )
if (_WIN32_IE ge 0300h)
LV_KEYDOWN	EQU	<NMLVKEYDOWN>
else 
tagLVKEYDOWN	EQU	<_LV_KEYDOWN>
NMLVKEYDOWN	EQU	<LV_KEYDOWN>
endif 
ifdef _WIN32
	include pshpack1.inc
endif 
NMLVKEYDOWN	struct 
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMLVKEYDOWN	ends

LPNMLVKEYDOWN typedef ptr NMLVKEYDOWN

ifdef _WIN32
	include poppack.inc
endif 
if (_WIN32_IE ge 0300h)
LVN_MARQUEEBEGIN	EQU	( LVN_FIRST - 56 )
endif 
if (_WIN32_IE ge 0400h)
NMLVGETINFOTIPA	struct 
hdr	NMHDR	<>
dwFlags	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
lParam	LPARAM	?
NMLVGETINFOTIPA	ends

LPNMLVGETINFOTIPA typedef ptr NMLVGETINFOTIPA

NMLVGETINFOTIPW	struct 
hdr	NMHDR	<>
dwFlags	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iItem	DWORD	?
iSubItem	DWORD	?
lParam	LPARAM	?
NMLVGETINFOTIPW	ends

LPNMLVGETINFOTIPW typedef ptr NMLVGETINFOTIPW

LVGIT_UNFOLDED	EQU	0001h
LVN_GETINFOTIPA	EQU	( LVN_FIRST - 57 )
LVN_GETINFOTIPW	EQU	( LVN_FIRST - 58 )
ifdef UNICODE
LVN_GETINFOTIP	EQU	<LVN_GETINFOTIPW>
NMLVGETINFOTIP	EQU	<NMLVGETINFOTIPW>
LPNMLVGETINFOTIP	EQU	<LPNMLVGETINFOTIPW>
else 
LVN_GETINFOTIP	EQU	<LVN_GETINFOTIPA>
NMLVGETINFOTIP	EQU	<NMLVGETINFOTIPA>
LPNMLVGETINFOTIP	EQU	<LPNMLVGETINFOTIPA>
endif 
endif 
if (_WIN32_WINNT ge 501h)
NMLVSCROLL	struct 
hdr	NMHDR	<>
dx_	DWORD	?
dy	DWORD	?
NMLVSCROLL	ends

LPNMLVSCROLL typedef ptr NMLVSCROLL

LVN_BEGINSCROLL	EQU	( LVN_FIRST - 80 )
LVN_ENDSCROLL	EQU	( LVN_FIRST - 81 )
endif 
endif 
ifndef NOTREEVIEW
ifdef _WIN32
WC_TREEVIEWA	EQU	<"SysTreeView32">
WC_TREEVIEWW	EQU	<L("SysTreeView32")>
ifdef UNICODE
WC_TREEVIEW	EQU	<WC_TREEVIEWW>
else 
WC_TREEVIEW	EQU	<WC_TREEVIEWA>
endif 
else 
WC_TREEVIEW	EQU	<"SysTreeView">
endif 
TVS_HASBUTTONS	EQU	0001h
TVS_HASLINES	EQU	0002h
TVS_LINESATROOT	EQU	0004h
TVS_EDITLABELS	EQU	0008h
TVS_DISABLEDRAGDROP	EQU	0010h
TVS_SHOWSELALWAYS	EQU	0020h
if (_WIN32_IE ge 0300h)
TVS_RTLREADING	EQU	0040h
TVS_NOTOOLTIPS	EQU	0080h
TVS_CHECKBOXES	EQU	0100h
TVS_TRACKSELECT	EQU	0200h
if (_WIN32_IE ge 0400h)
TVS_SINGLEEXPAND	EQU	0400h
TVS_INFOTIP	EQU	0800h
TVS_FULLROWSELECT	EQU	1000h
TVS_NOSCROLL	EQU	2000h
TVS_NONEVENHEIGHT	EQU	4000h
endif 
if (_WIN32_IE ge 500h)
TVS_NOHSCROLL	EQU	8000h
endif 
endif 
HTREEITEM typedef ptr _TREEITEM

TVIF_TEXT	EQU	0001h
TVIF_IMAGE	EQU	0002h
TVIF_PARAM	EQU	0004h
TVIF_STATE	EQU	0008h
TVIF_HANDLE	EQU	0010h
TVIF_SELECTEDIMAGE	EQU	0020h
TVIF_CHILDREN	EQU	0040h
if (_WIN32_IE ge 0400h)
TVIF_INTEGRAL	EQU	0080h
endif 
TVIS_SELECTED	EQU	0002h
TVIS_CUT	EQU	0004h
TVIS_DROPHILITED	EQU	0008h
TVIS_BOLD	EQU	0010h
TVIS_EXPANDED	EQU	0020h
TVIS_EXPANDEDONCE	EQU	0040h
if (_WIN32_IE ge 0300h)
TVIS_EXPANDPARTIAL	EQU	0080h
endif 
TVIS_OVERLAYMASK	EQU	0F00h
TVIS_STATEIMAGEMASK	EQU	0F000h
TVIS_USERMASK	EQU	0F000h
I_CHILDRENCALLBACK	EQU	- 1
if (_WIN32_IE ge 0300h)
LPTV_ITEMW	EQU	<LPTVITEMW>
LPTV_ITEMA	EQU	<LPTVITEMA>
TV_ITEMW	EQU	<TVITEMW>
TV_ITEMA	EQU	<TVITEMA>
else 
tagTVITEMA	EQU	<_TV_ITEMA>
TVITEMA	EQU	<TV_ITEMA>
LPTVITEMA	EQU	<LPTV_ITEMA>
tagTVITEMW	EQU	<_TV_ITEMW>
TVITEMW	EQU	<TV_ITEMW>
LPTVITEMW	EQU	<LPTV_ITEMW>
endif 
LPTV_ITEM	EQU	<LPTVITEM>
TV_ITEM	EQU	<TVITEM>
TVITEMA	struct 
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
TVITEMA	ends

LPTVITEMA typedef ptr TVITEMA

TVITEMW	struct 
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
TVITEMW	ends

LPTVITEMW typedef ptr TVITEMW

if (_WIN32_IE ge 0400h)
TVITEMEXA	struct 
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
iIntegral	DWORD	?
TVITEMEXA	ends

LPTVITEMEXA typedef ptr TVITEMEXA

TVITEMEXW	struct 
mask_	DWORD	?
hItem	HTREEITEM	?
state	DWORD	?
stateMask	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
cChildren	DWORD	?
lParam	LPARAM	?
iIntegral	DWORD	?
TVITEMEXW	ends

LPTVITEMEXW typedef ptr TVITEMEXW

ifdef UNICODE
TVITEMEX typedef TVITEMEXW
LPTVITEMEX typedef LPTVITEMEXW
else 
TVITEMEX typedef TVITEMEXA
LPTVITEMEX typedef LPTVITEMEXA
endif 
endif 
ifdef UNICODE
TVITEM	EQU	<TVITEMW>
LPTVITEM	EQU	<LPTVITEMW>
else 
TVITEM	EQU	<TVITEMA>
LPTVITEM	EQU	<LPTVITEMA>
endif 
TVI_ROOT	EQU	- 10000h
TVI_FIRST	EQU	- 0FFFFh
TVI_LAST	EQU	- 0FFFEh
TVI_SORT	EQU	- 0FFFDh
if (_WIN32_IE ge 0300h)
LPTV_INSERTSTRUCTA	EQU	<LPTVINSERTSTRUCTA>
LPTV_INSERTSTRUCTW	EQU	<LPTVINSERTSTRUCTW>
TV_INSERTSTRUCTA	EQU	<TVINSERTSTRUCTA>
TV_INSERTSTRUCTW	EQU	<TVINSERTSTRUCTW>
else 
tagTVINSERTSTRUCTA	EQU	<_TV_INSERTSTRUCTA>
TVINSERTSTRUCTA	EQU	<TV_INSERTSTRUCTA>
LPTVINSERTSTRUCTA	EQU	<LPTV_INSERTSTRUCTA>
tagTVINSERTSTRUCTW	EQU	<_TV_INSERTSTRUCTW>
TVINSERTSTRUCTW	EQU	<TV_INSERTSTRUCTW>
LPTVINSERTSTRUCTW	EQU	<LPTV_INSERTSTRUCTW>
endif 
TV_INSERTSTRUCT	EQU	<TVINSERTSTRUCT>
LPTV_INSERTSTRUCT	EQU	<LPTVINSERTSTRUCT>
TVINSERTSTRUCTA_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TVINSERTSTRUCTA , item )>
TVINSERTSTRUCTW_V1_SIZE	EQU	<CCSIZEOF_STRUCT ( TVINSERTSTRUCTW , item )>
TVINSERTSTRUCTA	struct 
hParent	HTREEITEM	?
hInsertAfter	HTREEITEM	?
if (_WIN32_IE ge 0400h)
union DUMMYUNIONNAME
itemex	TVITEMEXA	<>
item	TV_ITEMA	<>
ends
else 
item	TV_ITEMA	<>
endif 
TVINSERTSTRUCTA	ends

LPTVINSERTSTRUCTA typedef ptr TVINSERTSTRUCTA

TVINSERTSTRUCTW	struct 
hParent	HTREEITEM	?
hInsertAfter	HTREEITEM	?
if (_WIN32_IE ge 0400h)
union DUMMYUNIONNAME
itemex	TVITEMEXW	<>
item	TV_ITEMW	<>
ends
else 
item	TV_ITEMW	<>
endif 
TVINSERTSTRUCTW	ends

LPTVINSERTSTRUCTW typedef ptr TVINSERTSTRUCTW

ifdef UNICODE
TVINSERTSTRUCT	EQU	<TVINSERTSTRUCTW>
LPTVINSERTSTRUCT	EQU	<LPTVINSERTSTRUCTW>
TVINSERTSTRUCT_V1_SIZE	EQU	<TVINSERTSTRUCTW_V1_SIZE>
else 
TVINSERTSTRUCT	EQU	<TVINSERTSTRUCTA>
LPTVINSERTSTRUCT	EQU	<LPTVINSERTSTRUCTA>
TVINSERTSTRUCT_V1_SIZE	EQU	<TVINSERTSTRUCTA_V1_SIZE>
endif 
TVM_INSERTITEMA	EQU	( TV_FIRST + 0 )
TVM_INSERTITEMW	EQU	( TV_FIRST + 50 )
ifdef UNICODE
TVM_INSERTITEM	EQU	<TVM_INSERTITEMW>
else 
TVM_INSERTITEM	EQU	<TVM_INSERTITEMA>
endif 
TreeView_InsertItem macro hwnd,lpis
	exitm <SNDMSG ( ( hwnd ) , TVM_INSERTITEM , 0 , <lpis> ) >
	endm
TVM_DELETEITEM	EQU	( TV_FIRST + 1 )
TreeView_DeleteItem macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_DELETEITEM , 0 , ( hitem ) ) >
	endm
TreeView_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_DELETEITEM , 0 , TVI_ROOT ) >
	endm
TVM_EXPAND	EQU	( TV_FIRST + 2 )
TreeView_Expand macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_EXPAND , ( code ) , ( hitem ) ) >
	endm
TVE_COLLAPSE	EQU	0001h
TVE_EXPAND	EQU	0002h
TVE_TOGGLE	EQU	0003h
if (_WIN32_IE ge 0300h)
TVE_EXPANDPARTIAL	EQU	4000h
endif 
TVE_COLLAPSERESET	EQU	8000h
TVM_GETITEMRECT	EQU	( TV_FIRST + 4 )
TreeView_GetItemRect macro hwnd,hitem,prc,code
	push ecx
    mov ecx, prc
    push hitem
    pop dword ptr [ecx]
    pop ecx
    exitm <SNDMSG ( ( hwnd ) , TVM_GETITEMRECT , ( code ) , <prc> ) >
	endm
TVM_GETCOUNT	EQU	( TV_FIRST + 5 )
TreeView_GetCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETCOUNT , 0 , 0 ) >
	endm
TVM_GETINDENT	EQU	( TV_FIRST + 6 )
TreeView_GetIndent macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETINDENT , 0 , 0 ) >
	endm
TVM_SETINDENT	EQU	( TV_FIRST + 7 )
TreeView_SetIndent macro hwnd,indent
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINDENT , ( indent ) , 0 ) >
	endm
TVM_GETIMAGELIST	EQU	( TV_FIRST + 8 )
TreeView_GetImageList macro hwnd,iImage
	exitm <SNDMSG ( ( hwnd ) , TVM_GETIMAGELIST , iImage , 0 ) >
	endm
TVSIL_NORMAL	EQU	0
TVSIL_STATE	EQU	2
TVM_SETIMAGELIST	EQU	( TV_FIRST + 9 )
TreeView_SetImageList macro hwnd,himl,iImage
	exitm <SNDMSG ( ( hwnd ) , TVM_SETIMAGELIST , iImage , ( himl ) ) >
	endm
TVM_GETNEXTITEM	EQU	( TV_FIRST + 10 )
TreeView_GetNextItem macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_GETNEXTITEM , ( code ) , ( hitem ) ) >
	endm
TVGN_ROOT	EQU	0000h
TVGN_NEXT	EQU	0001h
TVGN_PREVIOUS	EQU	0002h
TVGN_PARENT	EQU	0003h
TVGN_CHILD	EQU	0004h
TVGN_FIRSTVISIBLE	EQU	0005h
TVGN_NEXTVISIBLE	EQU	0006h
TVGN_PREVIOUSVISIBLE	EQU	0007h
TVGN_DROPHILITE	EQU	0008h
TVGN_CARET	EQU	0009h
if (_WIN32_IE ge 0400h)
TVGN_LASTVISIBLE	EQU	000Ah
endif 
if (_WIN32_WINNT ge 501h)
TVSI_NOSINGLEEXPAND	EQU	8000h
endif 
TreeView_GetChild macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_CHILD ) >
	endm
TreeView_GetNextSibling macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_NEXT ) >
	endm
TreeView_GetPrevSibling macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PREVIOUS ) >
	endm
TreeView_GetParent macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PARENT ) >
	endm
TreeView_GetFirstVisible macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_FIRSTVISIBLE ) >
	endm
TreeView_GetNextVisible macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_NEXTVISIBLE ) >
	endm
TreeView_GetPrevVisible macro hwnd,hitem
	exitm <TreeView_GetNextItem ( hwnd , hitem , TVGN_PREVIOUSVISIBLE ) >
	endm
TreeView_GetSelection macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_CARET ) >
	endm
TreeView_GetDropHilight macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_DROPHILITE ) >
	endm
TreeView_GetRoot macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_ROOT ) >
	endm
if (_WIN32_IE ge 0400h)
TreeView_GetLastVisible macro hwnd
	exitm <TreeView_GetNextItem ( hwnd , NULL , TVGN_LASTVISIBLE ) >
	endm
endif 
TVM_SELECTITEM	EQU	( TV_FIRST + 11 )
TreeView_Select macro hwnd,hitem,code
	exitm <SNDMSG ( ( hwnd ) , TVM_SELECTITEM , ( code ) , ( hitem ) ) >
	endm
TreeView_SelectItem macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_CARET ) >
	endm
TreeView_SelectDropTarget macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_DROPHILITE ) >
	endm
TreeView_SelectSetFirstVisible macro hwnd,hitem
	exitm <TreeView_Select ( hwnd , hitem , TVGN_FIRSTVISIBLE ) >
	endm
TVM_GETITEMA	EQU	( TV_FIRST + 12 )
TVM_GETITEMW	EQU	( TV_FIRST + 62 )
ifdef UNICODE
TVM_GETITEM	EQU	<TVM_GETITEMW>
else 
TVM_GETITEM	EQU	<TVM_GETITEMA>
endif 
TreeView_GetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , TVM_GETITEM , 0 , <pitem> ) >
	endm
TVM_SETITEMA	EQU	( TV_FIRST + 13 )
TVM_SETITEMW	EQU	( TV_FIRST + 63 )
ifdef UNICODE
TVM_SETITEM	EQU	<TVM_SETITEMW>
else 
TVM_SETITEM	EQU	<TVM_SETITEMA>
endif 
TreeView_SetItem macro hwnd,pitem
	exitm <SNDMSG ( ( hwnd ) , TVM_SETITEM , 0 , <pitem> ) >
	endm
TVM_EDITLABELA	EQU	( TV_FIRST + 14 )
TVM_EDITLABELW	EQU	( TV_FIRST + 65 )
ifdef UNICODE
TVM_EDITLABEL	EQU	<TVM_EDITLABELW>
else 
TVM_EDITLABEL	EQU	<TVM_EDITLABELA>
endif 
TreeView_EditLabel macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_EDITLABEL , 0 , ( hitem ) ) >
	endm
TVM_GETEDITCONTROL	EQU	( TV_FIRST + 15 )
TreeView_GetEditControl macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETEDITCONTROL , 0 , 0 ) >
	endm
TVM_GETVISIBLECOUNT	EQU	( TV_FIRST + 16 )
TreeView_GetVisibleCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETVISIBLECOUNT , 0 , 0 ) >
	endm
TVM_HITTEST	EQU	( TV_FIRST + 17 )
TreeView_HitTest macro hwnd,lpht
	exitm <SNDMSG ( ( hwnd ) , TVM_HITTEST , 0 , <lpht> ) >
	endm
if (_WIN32_IE ge 0300h)
LPTV_HITTESTINFO	EQU	<LPTVHITTESTINFO>
TV_HITTESTINFO	EQU	<TVHITTESTINFO>
else 
tagTVHITTESTINFO	EQU	<_TV_HITTESTINFO>
TVHITTESTINFO	EQU	<TV_HITTESTINFO>
LPTVHITTESTINFO	EQU	<LPTV_HITTESTINFO>
endif 
TVHITTESTINFO	struct 
pt	POINT	<>
flags	DWORD	?
hItem	HTREEITEM	?
TVHITTESTINFO	ends

LPTVHITTESTINFO typedef ptr TVHITTESTINFO

TVHT_NOWHERE	EQU	0001h
TVHT_ONITEMICON	EQU	0002h
TVHT_ONITEMLABEL	EQU	0004h
TVHT_ONITEM	EQU	( TVHT_ONITEMICON  or  TVHT_ONITEMLABEL  or  TVHT_ONITEMSTATEICON )
TVHT_ONITEMINDENT	EQU	0008h
TVHT_ONITEMBUTTON	EQU	0010h
TVHT_ONITEMRIGHT	EQU	0020h
TVHT_ONITEMSTATEICON	EQU	0040h
TVHT_ABOVE	EQU	0100h
TVHT_BELOW	EQU	0200h
TVHT_TORIGHT	EQU	0400h
TVHT_TOLEFT	EQU	0800h
TVM_CREATEDRAGIMAGE	EQU	( TV_FIRST + 18 )
TreeView_CreateDragImage macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_CREATEDRAGIMAGE , 0 , ( hitem ) ) >
	endm
TVM_SORTCHILDREN	EQU	( TV_FIRST + 19 )
TreeView_SortChildren macro hwnd,hitem,recurse
	exitm <SNDMSG ( ( hwnd ) , TVM_SORTCHILDREN , ( recurse ) , ( hitem ) ) >
	endm
TVM_ENSUREVISIBLE	EQU	( TV_FIRST + 20 )
TreeView_EnsureVisible macro hwnd,hitem
	exitm <SNDMSG ( ( hwnd ) , TVM_ENSUREVISIBLE , 0 , ( hitem ) ) >
	endm
TVM_SORTCHILDRENCB	EQU	( TV_FIRST + 21 )
TreeView_SortChildrenCB macro hwnd,psort,recurse
	exitm <SNDMSG ( ( hwnd ) , TVM_SORTCHILDRENCB , ( recurse ) , <psort> ) >
	endm
TVM_ENDEDITLABELNOW	EQU	( TV_FIRST + 22 )
TreeView_EndEditLabelNow macro hwnd,fCancel
	exitm <SNDMSG ( ( hwnd ) , TVM_ENDEDITLABELNOW , ( fCancel ) , 0 ) >
	endm
TVM_GETISEARCHSTRINGA	EQU	( TV_FIRST + 23 )
TVM_GETISEARCHSTRINGW	EQU	( TV_FIRST + 64 )
ifdef UNICODE
TVM_GETISEARCHSTRING	EQU	<TVM_GETISEARCHSTRINGW>
else 
TVM_GETISEARCHSTRING	EQU	<TVM_GETISEARCHSTRINGA>
endif 
if (_WIN32_IE ge 0300h)
TVM_SETTOOLTIPS	EQU	( TV_FIRST + 24 )
TreeView_SetToolTips macro hwnd,hwndTT
	exitm <SNDMSG ( ( hwnd ) , TVM_SETTOOLTIPS , ( hwndTT ) , 0 ) >
	endm
TVM_GETTOOLTIPS	EQU	( TV_FIRST + 25 )
TreeView_GetToolTips macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETTOOLTIPS , 0 , 0 ) >
	endm
endif 
TreeView_GetISearchString macro hwndTV,lpsz
	exitm <SNDMSG ( ( hwndTV ) , TVM_GETISEARCHSTRING , 0 , <lpsz> ) >
	endm
if (_WIN32_IE ge 0400h)
TVM_SETINSERTMARK	EQU	( TV_FIRST + 26 )
TreeView_SetInsertMark macro hwnd,hItem,fAfter
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINSERTMARK , ( fAfter ) , ( hItem ) ) >
	endm
TVM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TreeView_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , TVM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
TVM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TreeView_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
TVM_SETITEMHEIGHT	EQU	( TV_FIRST + 27 )
TreeView_SetItemHeight macro hwnd,iHeight
	exitm <SNDMSG ( ( hwnd ) , TVM_SETITEMHEIGHT , ( iHeight ) , 0 ) >
	endm
TVM_GETITEMHEIGHT	EQU	( TV_FIRST + 28 )
TreeView_GetItemHeight macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETITEMHEIGHT , 0 , 0 ) >
	endm
TVM_SETBKCOLOR	EQU	( TV_FIRST + 29 )
TreeView_SetBkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETBKCOLOR , 0 , ( clr ) ) >
	endm
TVM_SETTEXTCOLOR	EQU	( TV_FIRST + 30 )
TreeView_SetTextColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETTEXTCOLOR , 0 , ( clr ) ) >
	endm
TVM_GETBKCOLOR	EQU	( TV_FIRST + 31 )
TreeView_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETBKCOLOR , 0 , 0 ) >
	endm
TVM_GETTEXTCOLOR	EQU	( TV_FIRST + 32 )
TreeView_GetTextColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETTEXTCOLOR , 0 , 0 ) >
	endm
TVM_SETSCROLLTIME	EQU	( TV_FIRST + 33 )
TreeView_SetScrollTime macro hwnd,uTime
	exitm <SNDMSG ( ( hwnd ) , TVM_SETSCROLLTIME , uTime , 0 ) >
	endm
TVM_GETSCROLLTIME	EQU	( TV_FIRST + 34 )
TreeView_GetScrollTime macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETSCROLLTIME , 0 , 0 ) >
	endm
TVM_SETINSERTMARKCOLOR	EQU	( TV_FIRST + 37 )
TreeView_SetInsertMarkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETINSERTMARKCOLOR , 0 , ( clr ) ) >
	endm
TVM_GETINSERTMARKCOLOR	EQU	( TV_FIRST + 38 )
TreeView_GetInsertMarkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETINSERTMARKCOLOR , 0 , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0500h)
TreeView_SetItemState macro hwndTV,hti,data,_mask
	exitm <{ TVITEM _ms_TVi ; _ms_TVi.mask = TVIF_STATE ; _ms_TVi.hItem = hti ; _ms_TVi.stateMask = _mask ; _ms_TVi.state = data ; SNDMSG ( ( hwndTV ) , TVM_SETITEM , 0 , ( TV_ITEM * )  and  _ms_TVi ) ; } >
	endm
TreeView_SetCheckState macro hwndTV,hti,fCheck
	exitm <TreeView_SetItemState ( hwndTV , hti , INDEXTOSTATEIMAGEMASK ( ( fCheck ) ?2 : 1 ) , TVIS_STATEIMAGEMASK ) >
	endm
TVM_GETITEMSTATE	EQU	( TV_FIRST + 39 )
TreeView_GetItemState macro hwndTV,hti,mask
	exitm <SNDMSG ( ( hwndTV ) , TVM_GETITEMSTATE , ( hti ) , ( mask ) ) >
	endm
TreeView_GetCheckState macro hwndTV,hti
	exitm <( ( ( ( SNDMSG ( ( hwndTV ) , TVM_GETITEMSTATE , ( hti ) , TVIS_STATEIMAGEMASK ) ) )  shr  12 ) - 1 ) >
	endm
TVM_SETLINECOLOR	EQU	( TV_FIRST + 40 )
TreeView_SetLineColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , TVM_SETLINECOLOR , 0 , ( clr ) ) >
	endm
TVM_GETLINECOLOR	EQU	( TV_FIRST + 41 )
TreeView_GetLineColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TVM_GETLINECOLOR , 0 , 0 ) >
	endm
endif 
if (_WIN32_WINNT ge 0501h)
TVM_MAPACCIDTOHTREEITEM	EQU	( TV_FIRST + 42 )
TreeView_MapAccIDToHTREEITEM macro hwnd,id
	exitm <SNDMSG ( ( hwnd ) , TVM_MAPACCIDTOHTREEITEM , id , 0 ) >
	endm
TVM_MAPHTREEITEMTOACCID	EQU	( TV_FIRST + 43 )
TreeView_MapHTREEITEMToAccID macro hwnd,htreeitem
	exitm <SNDMSG ( ( hwnd ) , TVM_MAPHTREEITEMTOACCID , htreeitem , 0 ) >
	endm
endif 
proto_PFNTVCOMPARE typedef proto WINSTDCALLCONV :LPARAM,:LPARAM,:LPARAM
PFNTVCOMPARE typedef ptr proto_PFNTVCOMPARE
if (_WIN32_IE ge 0300h)
LPTV_SORTCB	EQU	<LPTVSORTCB>
TV_SORTCB	EQU	<TVSORTCB>
else 
tagTVSORTCB	EQU	<_TV_SORTCB>
TVSORTCB	EQU	<TV_SORTCB>
LPTVSORTCB	EQU	<LPTV_SORTCB>
endif 
TVSORTCB	struct 
hParent	HTREEITEM	?
lpfnCompare	PFNTVCOMPARE	?
lParam	LPARAM	?
TVSORTCB	ends

LPTVSORTCB typedef ptr TVSORTCB

if (_WIN32_IE ge 0300h)
LPNM_TREEVIEWA	EQU	<LPNMTREEVIEWA>
LPNM_TREEVIEWW	EQU	<LPNMTREEVIEWW>
NM_TREEVIEWW	EQU	<NMTREEVIEWW>
NM_TREEVIEWA	EQU	<NMTREEVIEWA>
else 
tagNMTREEVIEWA	EQU	<_NM_TREEVIEWA>
tagNMTREEVIEWW	EQU	<_NM_TREEVIEWW>
NMTREEVIEWA	EQU	<NM_TREEVIEWA>
NMTREEVIEWW	EQU	<NM_TREEVIEWW>
LPNMTREEVIEWA	EQU	<LPNM_TREEVIEWA>
LPNMTREEVIEWW	EQU	<LPNM_TREEVIEWW>
endif 
LPNM_TREEVIEW	EQU	<LPNMTREEVIEW>
NM_TREEVIEW	EQU	<NMTREEVIEW>
NMTREEVIEWA	struct 
hdr	NMHDR	<>
action	DWORD	?
itemOld	TVITEMA	<>
itemNew	TVITEMA	<>
ptDrag	POINT	<>
NMTREEVIEWA	ends

LPNMTREEVIEWA typedef ptr NMTREEVIEWA

NMTREEVIEWW	struct 
hdr	NMHDR	<>
action	DWORD	?
itemOld	TVITEMW	<>
itemNew	TVITEMW	<>
ptDrag	POINT	<>
NMTREEVIEWW	ends

LPNMTREEVIEWW typedef ptr NMTREEVIEWW

ifdef UNICODE
NMTREEVIEW	EQU	<NMTREEVIEWW>
LPNMTREEVIEW	EQU	<LPNMTREEVIEWW>
else 
NMTREEVIEW	EQU	<NMTREEVIEWA>
LPNMTREEVIEW	EQU	<LPNMTREEVIEWA>
endif 
TVN_SELCHANGINGA	EQU	( TVN_FIRST - 1 )
TVN_SELCHANGINGW	EQU	( TVN_FIRST - 50 )
TVN_SELCHANGEDA	EQU	( TVN_FIRST - 2 )
TVN_SELCHANGEDW	EQU	( TVN_FIRST - 51 )
TVC_UNKNOWN	EQU	0000h
TVC_BYMOUSE	EQU	0001h
TVC_BYKEYBOARD	EQU	0002h
TVN_GETDISPINFOA	EQU	( TVN_FIRST - 3 )
TVN_GETDISPINFOW	EQU	( TVN_FIRST - 52 )
TVN_SETDISPINFOA	EQU	( TVN_FIRST - 4 )
TVN_SETDISPINFOW	EQU	( TVN_FIRST - 53 )
TVIF_DI_SETITEM	EQU	1000h
if (_WIN32_IE ge 0300h)
TV_DISPINFOA	EQU	<NMTVDISPINFOA>
TV_DISPINFOW	EQU	<NMTVDISPINFOW>
else 
tagTVDISPINFOA	EQU	<_TV_DISPINFOA>
NMTVDISPINFOA	EQU	<TV_DISPINFOA>
tagTVDISPINFOW	EQU	<_TV_DISPINFOW>
NMTVDISPINFOW	EQU	<TV_DISPINFOW>
endif 
TV_DISPINFO	EQU	<NMTVDISPINFO>
NMTVDISPINFOA	struct 
hdr	NMHDR	<>
item	TVITEMA	<>
NMTVDISPINFOA	ends

LPNMTVDISPINFOA typedef ptr NMTVDISPINFOA

NMTVDISPINFOW	struct 
hdr	NMHDR	<>
item	TVITEMW	<>
NMTVDISPINFOW	ends

LPNMTVDISPINFOW typedef ptr NMTVDISPINFOW

ifdef UNICODE
NMTVDISPINFO	EQU	<NMTVDISPINFOW>
LPNMTVDISPINFO	EQU	<LPNMTVDISPINFOW>
else 
NMTVDISPINFO	EQU	<NMTVDISPINFOA>
LPNMTVDISPINFO	EQU	<LPNMTVDISPINFOA>
endif 
TVN_ITEMEXPANDINGA	EQU	( TVN_FIRST - 5 )
TVN_ITEMEXPANDINGW	EQU	( TVN_FIRST - 54 )
TVN_ITEMEXPANDEDA	EQU	( TVN_FIRST - 6 )
TVN_ITEMEXPANDEDW	EQU	( TVN_FIRST - 55 )
TVN_BEGINDRAGA	EQU	( TVN_FIRST - 7 )
TVN_BEGINDRAGW	EQU	( TVN_FIRST - 56 )
TVN_BEGINRDRAGA	EQU	( TVN_FIRST - 8 )
TVN_BEGINRDRAGW	EQU	( TVN_FIRST - 57 )
TVN_DELETEITEMA	EQU	( TVN_FIRST - 9 )
TVN_DELETEITEMW	EQU	( TVN_FIRST - 58 )
TVN_BEGINLABELEDITA	EQU	( TVN_FIRST - 10 )
TVN_BEGINLABELEDITW	EQU	( TVN_FIRST - 59 )
TVN_ENDLABELEDITA	EQU	( TVN_FIRST - 11 )
TVN_ENDLABELEDITW	EQU	( TVN_FIRST - 60 )
TVN_KEYDOWN	EQU	( TVN_FIRST - 12 )
if (_WIN32_IE ge 0400h)
TVN_GETINFOTIPA	EQU	( TVN_FIRST - 13 )
TVN_GETINFOTIPW	EQU	( TVN_FIRST - 14 )
TVN_SINGLEEXPAND	EQU	( TVN_FIRST - 15 )
TVNRET_DEFAULT	EQU	0
TVNRET_SKIPOLD	EQU	1
TVNRET_SKIPNEW	EQU	2
endif 
if (_WIN32_IE ge 0300h)
TV_KEYDOWN	EQU	<NMTVKEYDOWN>
else 
tagTVKEYDOWN	EQU	<_TV_KEYDOWN>
NMTVKEYDOWN	EQU	<TV_KEYDOWN>
endif 
ifdef _WIN32
	include pshpack1.inc
endif 
NMTVKEYDOWN	struct 
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMTVKEYDOWN	ends

LPNMTVKEYDOWN typedef ptr NMTVKEYDOWN

ifdef _WIN32
	include poppack.inc
endif 
ifdef UNICODE
TVN_SELCHANGING	EQU	<TVN_SELCHANGINGW>
TVN_SELCHANGED	EQU	<TVN_SELCHANGEDW>
TVN_GETDISPINFO	EQU	<TVN_GETDISPINFOW>
TVN_SETDISPINFO	EQU	<TVN_SETDISPINFOW>
TVN_ITEMEXPANDING	EQU	<TVN_ITEMEXPANDINGW>
TVN_ITEMEXPANDED	EQU	<TVN_ITEMEXPANDEDW>
TVN_BEGINDRAG	EQU	<TVN_BEGINDRAGW>
TVN_BEGINRDRAG	EQU	<TVN_BEGINRDRAGW>
TVN_DELETEITEM	EQU	<TVN_DELETEITEMW>
TVN_BEGINLABELEDIT	EQU	<TVN_BEGINLABELEDITW>
TVN_ENDLABELEDIT	EQU	<TVN_ENDLABELEDITW>
else 
TVN_SELCHANGING	EQU	<TVN_SELCHANGINGA>
TVN_SELCHANGED	EQU	<TVN_SELCHANGEDA>
TVN_GETDISPINFO	EQU	<TVN_GETDISPINFOA>
TVN_SETDISPINFO	EQU	<TVN_SETDISPINFOA>
TVN_ITEMEXPANDING	EQU	<TVN_ITEMEXPANDINGA>
TVN_ITEMEXPANDED	EQU	<TVN_ITEMEXPANDEDA>
TVN_BEGINDRAG	EQU	<TVN_BEGINDRAGA>
TVN_BEGINRDRAG	EQU	<TVN_BEGINRDRAGA>
TVN_DELETEITEM	EQU	<TVN_DELETEITEMA>
TVN_BEGINLABELEDIT	EQU	<TVN_BEGINLABELEDITA>
TVN_ENDLABELEDIT	EQU	<TVN_ENDLABELEDITA>
endif 
if (_WIN32_IE ge 0300h)
NMTVCUSTOMDRAW_V3_SIZE	EQU	<CCSIZEOF_STRUCT ( NMTVCUSTOMDRAW , clrTextBk )>
NMTVCUSTOMDRAW	struct 
nmcd	NMCUSTOMDRAW	<>
clrText	COLORREF	?
clrTextBk	COLORREF	?
if (_WIN32_IE ge 0400h)
iLevel	DWORD	?
endif 
NMTVCUSTOMDRAW	ends

LPNMTVCUSTOMDRAW typedef ptr NMTVCUSTOMDRAW

endif 
if (_WIN32_IE ge 0400h)
NMTVGETINFOTIPA	struct 
hdr	NMHDR	<>
pszText	LPSTR	?
cchTextMax	DWORD	?
hItem	HTREEITEM	?
lParam	LPARAM	?
NMTVGETINFOTIPA	ends

LPNMTVGETINFOTIPA typedef ptr NMTVGETINFOTIPA

NMTVGETINFOTIPW	struct 
hdr	NMHDR	<>
pszText	LPWSTR	?
cchTextMax	DWORD	?
hItem	HTREEITEM	?
lParam	LPARAM	?
NMTVGETINFOTIPW	ends

LPNMTVGETINFOTIPW typedef ptr NMTVGETINFOTIPW

ifdef UNICODE
TVN_GETINFOTIP	EQU	<TVN_GETINFOTIPW>
NMTVGETINFOTIP	EQU	<NMTVGETINFOTIPW>
LPNMTVGETINFOTIP	EQU	<LPNMTVGETINFOTIPW>
else 
TVN_GETINFOTIP	EQU	<TVN_GETINFOTIPA>
NMTVGETINFOTIP	EQU	<NMTVGETINFOTIPA>
LPNMTVGETINFOTIP	EQU	<LPNMTVGETINFOTIPA>
endif 
TVCDRF_NOIMAGES	EQU	00010000h
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOUSEREXCONTROLS
WC_COMBOBOXEXW	EQU	<L("ComboBoxEx32")>
WC_COMBOBOXEXA	EQU	<"ComboBoxEx32">
ifdef UNICODE
WC_COMBOBOXEX	EQU	<WC_COMBOBOXEXW>
else 
WC_COMBOBOXEX	EQU	<WC_COMBOBOXEXA>
endif 
CBEIF_TEXT	EQU	00000001h
CBEIF_IMAGE	EQU	00000002h
CBEIF_SELECTEDIMAGE	EQU	00000004h
CBEIF_OVERLAY	EQU	00000008h
CBEIF_INDENT	EQU	00000010h
CBEIF_LPARAM	EQU	00000020h
CBEIF_DI_SETITEM	EQU	10000000h
COMBOBOXEXITEMA	struct 
mask_	DWORD	?
iItem	INT_PTR	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
iOverlay	DWORD	?
iIndent	DWORD	?
lParam	LPARAM	?
COMBOBOXEXITEMA	ends

PCOMBOBOXEXITEMA typedef ptr COMBOBOXEXITEMA

PCCOMBOEXITEMA typedef ptr COMBOBOXEXITEMA
COMBOBOXEXITEMW	struct 
mask_	DWORD	?
iItem	INT_PTR	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
iSelectedImage	DWORD	?
iOverlay	DWORD	?
iIndent	DWORD	?
lParam	LPARAM	?
COMBOBOXEXITEMW	ends

PCOMBOBOXEXITEMW typedef ptr COMBOBOXEXITEMW

PCCOMBOEXITEMW typedef ptr COMBOBOXEXITEMW
ifdef UNICODE
COMBOBOXEXITEM	EQU	<COMBOBOXEXITEMW>
PCOMBOBOXEXITEM	EQU	<PCOMBOBOXEXITEMW>
PCCOMBOBOXEXITEM	EQU	<PCCOMBOBOXEXITEMW>
else 
COMBOBOXEXITEM	EQU	<COMBOBOXEXITEMA>
PCOMBOBOXEXITEM	EQU	<PCOMBOBOXEXITEMA>
PCCOMBOBOXEXITEM	EQU	<PCCOMBOBOXEXITEMA>
endif 
CBEM_INSERTITEMA	EQU	( WM_USER + 1 )
CBEM_SETIMAGELIST	EQU	( WM_USER + 2 )
CBEM_GETIMAGELIST	EQU	( WM_USER + 3 )
CBEM_GETITEMA	EQU	( WM_USER + 4 )
CBEM_SETITEMA	EQU	( WM_USER + 5 )
CBEM_DELETEITEM	EQU	<CB_DELETESTRING>
CBEM_GETCOMBOCONTROL	EQU	( WM_USER + 6 )
CBEM_GETEDITCONTROL	EQU	( WM_USER + 7 )
if (_WIN32_IE ge 0400h)
CBEM_SETEXSTYLE	EQU	( WM_USER + 8 )
CBEM_SETEXTENDEDSTYLE	EQU	( WM_USER + 14 )
CBEM_GETEXSTYLE	EQU	( WM_USER + 9 )
CBEM_GETEXTENDEDSTYLE	EQU	( WM_USER + 9 )
CBEM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
CBEM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
else 
CBEM_SETEXSTYLE	EQU	( WM_USER + 8 )
CBEM_GETEXSTYLE	EQU	( WM_USER + 9 )
endif 
CBEM_HASEDITCHANGED	EQU	( WM_USER + 10 )
CBEM_INSERTITEMW	EQU	( WM_USER + 11 )
CBEM_SETITEMW	EQU	( WM_USER + 12 )
CBEM_GETITEMW	EQU	( WM_USER + 13 )
ifdef UNICODE
CBEM_INSERTITEM	EQU	<CBEM_INSERTITEMW>
CBEM_SETITEM	EQU	<CBEM_SETITEMW>
CBEM_GETITEM	EQU	<CBEM_GETITEMW>
else 
CBEM_INSERTITEM	EQU	<CBEM_INSERTITEMA>
CBEM_SETITEM	EQU	<CBEM_SETITEMA>
CBEM_GETITEM	EQU	<CBEM_GETITEMA>
endif 
if (_WIN32_WINNT ge 501h)
CBEM_SETWINDOWTHEME	EQU	<CCM_SETWINDOWTHEME>
endif 
CBES_EX_NOEDITIMAGE	EQU	00000001h
CBES_EX_NOEDITIMAGEINDENT	EQU	00000002h
CBES_EX_PATHWORDBREAKPROC	EQU	00000004h
if (_WIN32_IE ge 0400h)
CBES_EX_NOSIZELIMIT	EQU	00000008h
CBES_EX_CASESENSITIVE	EQU	00000010h
NMCOMBOBOXEXA	struct 
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEMA	<>
NMCOMBOBOXEXA	ends

PNMCOMBOBOXEXA typedef ptr NMCOMBOBOXEXA

NMCOMBOBOXEXW	struct 
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEMW	<>
NMCOMBOBOXEXW	ends

PNMCOMBOBOXEXW typedef ptr NMCOMBOBOXEXW

ifdef UNICODE
NMCOMBOBOXEX	EQU	<NMCOMBOBOXEXW>
PNMCOMBOBOXEX	EQU	<PNMCOMBOBOXEXW>
CBEN_GETDISPINFO	EQU	<CBEN_GETDISPINFOW>
else 
NMCOMBOBOXEX	EQU	<NMCOMBOBOXEXA>
PNMCOMBOBOXEX	EQU	<PNMCOMBOBOXEXA>
CBEN_GETDISPINFO	EQU	<CBEN_GETDISPINFOA>
endif 
else 
NMCOMBOBOXEX	struct 
hdr	NMHDR	<>
ceItem	COMBOBOXEXITEM	?
NMCOMBOBOXEX	ends

PNMCOMBOBOXEX typedef ptr NMCOMBOBOXEX

CBEN_GETDISPINFO	EQU	( CBEN_FIRST - 0 )
endif 
if (_WIN32_IE ge 0400h)
CBEN_GETDISPINFOA	EQU	( CBEN_FIRST - 0 )
endif 
CBEN_INSERTITEM	EQU	( CBEN_FIRST - 1 )
CBEN_DELETEITEM	EQU	( CBEN_FIRST - 2 )
CBEN_BEGINEDIT	EQU	( CBEN_FIRST - 4 )
CBEN_ENDEDITA	EQU	( CBEN_FIRST - 5 )
CBEN_ENDEDITW	EQU	( CBEN_FIRST - 6 )
if (_WIN32_IE ge 0400h)
CBEN_GETDISPINFOW	EQU	( CBEN_FIRST - 7 )
endif 
if (_WIN32_IE ge 0400h)
CBEN_DRAGBEGINA	EQU	( CBEN_FIRST - 8 )
CBEN_DRAGBEGINW	EQU	( CBEN_FIRST - 9 )
ifdef UNICODE
CBEN_DRAGBEGIN	EQU	<CBEN_DRAGBEGINW>
else 
CBEN_DRAGBEGIN	EQU	<CBEN_DRAGBEGINA>
endif 
endif 
ifdef UNICODE
CBEN_ENDEDIT	EQU	<CBEN_ENDEDITW>
else 
CBEN_ENDEDIT	EQU	<CBEN_ENDEDITA>
endif 
CBENF_KILLFOCUS	EQU	1
CBENF_RETURN	EQU	2
CBENF_ESCAPE	EQU	3
CBENF_DROPDOWN	EQU	4
CBEMAXSTRLEN	EQU	260
if (_WIN32_IE ge 0400h)
NMCBEDRAGBEGINW	struct 
hdr	NMHDR	<>
iItemid	DWORD	?
szText	WCHAR CBEMAXSTRLEN dup (?)
NMCBEDRAGBEGINW	ends

LPNMCBEDRAGBEGINW typedef ptr NMCBEDRAGBEGINW
PNMCBEDRAGBEGINW typedef ptr NMCBEDRAGBEGINW

NMCBEDRAGBEGINA	struct 
hdr	NMHDR	<>
iItemid	DWORD	?
szText	SBYTE CBEMAXSTRLEN dup (?)
NMCBEDRAGBEGINA	ends

LPNMCBEDRAGBEGINA typedef ptr NMCBEDRAGBEGINA
PNMCBEDRAGBEGINA typedef ptr NMCBEDRAGBEGINA

ifdef UNICODE
NMCBEDRAGBEGIN	EQU	<NMCBEDRAGBEGINW>
LPNMCBEDRAGBEGIN	EQU	<LPNMCBEDRAGBEGINW>
PNMCBEDRAGBEGIN	EQU	<PNMCBEDRAGBEGINW>
else 
NMCBEDRAGBEGIN	EQU	<NMCBEDRAGBEGINA>
LPNMCBEDRAGBEGIN	EQU	<LPNMCBEDRAGBEGINA>
PNMCBEDRAGBEGIN	EQU	<PNMCBEDRAGBEGINA>
endif 
endif 
NMCBEENDEDITW	struct 
hdr	NMHDR	<>
fChanged	BOOL	?
iNewSelection	DWORD	?
szText	WCHAR CBEMAXSTRLEN dup (?)
iWhy	DWORD	?
NMCBEENDEDITW	ends

LPNMCBEENDEDITW typedef ptr NMCBEENDEDITW
PNMCBEENDEDITW typedef ptr NMCBEENDEDITW

NMCBEENDEDITA	struct 
hdr	NMHDR	<>
fChanged	BOOL	?
iNewSelection	DWORD	?
szText	SBYTE CBEMAXSTRLEN dup (?)
iWhy	DWORD	?
NMCBEENDEDITA	ends

LPNMCBEENDEDITA typedef ptr NMCBEENDEDITA
PNMCBEENDEDITA typedef ptr NMCBEENDEDITA

ifdef UNICODE
NMCBEENDEDIT	EQU	<NMCBEENDEDITW>
LPNMCBEENDEDIT	EQU	<LPNMCBEENDEDITW>
PNMCBEENDEDIT	EQU	<PNMCBEENDEDITW>
else 
NMCBEENDEDIT	EQU	<NMCBEENDEDITA>
LPNMCBEENDEDIT	EQU	<LPNMCBEENDEDITA>
PNMCBEENDEDIT	EQU	<PNMCBEENDEDITA>
endif 
endif 
endif 
ifndef NOTABCONTROL
ifdef _WIN32
WC_TABCONTROLA	EQU	<"SysTabControl32">
WC_TABCONTROLW	EQU	<L("SysTabControl32")>
ifdef UNICODE
WC_TABCONTROL	EQU	<WC_TABCONTROLW>
else 
WC_TABCONTROL	EQU	<WC_TABCONTROLA>
endif 
else 
WC_TABCONTROL	EQU	<"SysTabControl">
endif 
if (_WIN32_IE ge 0300h)
TCS_SCROLLOPPOSITE	EQU	0001h
TCS_BOTTOM	EQU	0002h
TCS_RIGHT	EQU	0002h
TCS_MULTISELECT	EQU	0004h
endif 
if (_WIN32_IE ge 0400h)
TCS_FLATBUTTONS	EQU	0008h
endif 
TCS_FORCEICONLEFT	EQU	0010h
TCS_FORCELABELLEFT	EQU	0020h
if (_WIN32_IE ge 0300h)
TCS_HOTTRACK	EQU	0040h
TCS_VERTICAL	EQU	0080h
endif 
TCS_TABS	EQU	0000h
TCS_BUTTONS	EQU	0100h
TCS_SINGLELINE	EQU	0000h
TCS_MULTILINE	EQU	0200h
TCS_RIGHTJUSTIFY	EQU	0000h
TCS_FIXEDWIDTH	EQU	0400h
TCS_RAGGEDRIGHT	EQU	0800h
TCS_FOCUSONBUTTONDOWN	EQU	1000h
TCS_OWNERDRAWFIXED	EQU	2000h
TCS_TOOLTIPS	EQU	4000h
TCS_FOCUSNEVER	EQU	8000h
if (_WIN32_IE ge 0400h)
TCS_EX_FLATSEPARATORS	EQU	00000001h
TCS_EX_REGISTERDROP	EQU	00000002h
endif 
TCM_GETIMAGELIST	EQU	( TCM_FIRST + 2 )
TabCtrl_GetImageList macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETIMAGELIST , 0 , 0 ) >
	endm
TCM_SETIMAGELIST	EQU	( TCM_FIRST + 3 )
TabCtrl_SetImageList macro hwnd,himl
	exitm <SNDMSG ( ( hwnd ) , TCM_SETIMAGELIST , 0 , ( himl ) ) >
	endm
TCM_GETITEMCOUNT	EQU	( TCM_FIRST + 4 )
TabCtrl_GetItemCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEMCOUNT , 0 , 0 ) >
	endm
TCIF_TEXT	EQU	0001h
TCIF_IMAGE	EQU	0002h
TCIF_RTLREADING	EQU	0004h
TCIF_PARAM	EQU	0008h
if (_WIN32_IE ge 0300h)
TCIF_STATE	EQU	0010h
TCIS_BUTTONPRESSED	EQU	0001h
endif 
if (_WIN32_IE ge 0400h)
TCIS_HIGHLIGHTED	EQU	0002h
endif 
if (_WIN32_IE ge 0300h)
TC_ITEMHEADERA	EQU	<TCITEMHEADERA>
TC_ITEMHEADERW	EQU	<TCITEMHEADERW>
else 
tagTCITEMHEADERA	EQU	<_TC_ITEMHEADERA>
TCITEMHEADERA	EQU	<TC_ITEMHEADERA>
tagTCITEMHEADERW	EQU	<_TC_ITEMHEADERW>
TCITEMHEADERW	EQU	<TC_ITEMHEADERW>
endif 
TC_ITEMHEADER	EQU	<TCITEMHEADER>
TCITEMHEADERA	struct 
mask_	DWORD	?
lpReserved1	DWORD	?
lpReserved2	DWORD	?
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
TCITEMHEADERA	ends

LPTCITEMHEADERA typedef ptr TCITEMHEADERA

TCITEMHEADERW	struct 
mask_	DWORD	?
lpReserved1	DWORD	?
lpReserved2	DWORD	?
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
TCITEMHEADERW	ends

LPTCITEMHEADERW typedef ptr TCITEMHEADERW

ifdef UNICODE
TCITEMHEADER	EQU	<TCITEMHEADERW>
LPTCITEMHEADER	EQU	<LPTCITEMHEADERW>
else 
TCITEMHEADER	EQU	<TCITEMHEADERA>
LPTCITEMHEADER	EQU	<LPTCITEMHEADERA>
endif 
if (_WIN32_IE ge 0300h)
TC_ITEMA	EQU	<TCITEMA>
TC_ITEMW	EQU	<TCITEMW>
else 
tagTCITEMA	EQU	<_TC_ITEMA>
TCITEMA	EQU	<TC_ITEMA>
tagTCITEMW	EQU	<_TC_ITEMW>
TCITEMW	EQU	<TC_ITEMW>
endif 
TC_ITEM	EQU	<TCITEM>
TCITEMA	struct 
mask_	DWORD	?
if (_WIN32_IE ge 0300h)
dwState	DWORD	?
dwStateMask	DWORD	?
else 
lpReserved1	DWORD	?
lpReserved2	DWORD	?
endif 
pszText	LPSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
TCITEMA	ends

LPTCITEMA typedef ptr TCITEMA

TCITEMW	struct 
mask_	DWORD	?
if (_WIN32_IE ge 0300h)
dwState	DWORD	?
dwStateMask	DWORD	?
else 
lpReserved1	DWORD	?
lpReserved2	DWORD	?
endif 
pszText	LPWSTR	?
cchTextMax	DWORD	?
iImage	DWORD	?
lParam	LPARAM	?
TCITEMW	ends

LPTCITEMW typedef ptr TCITEMW

ifdef UNICODE
TCITEM	EQU	<TCITEMW>
LPTCITEM	EQU	<LPTCITEMW>
else 
TCITEM	EQU	<TCITEMA>
LPTCITEM	EQU	<LPTCITEMA>
endif 
TCM_GETITEMA	EQU	( TCM_FIRST + 5 )
TCM_GETITEMW	EQU	( TCM_FIRST + 60 )
ifdef UNICODE
TCM_GETITEM	EQU	<TCM_GETITEMW>
else 
TCM_GETITEM	EQU	<TCM_GETITEMA>
endif 
TabCtrl_GetItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEM , ( iItem ) , <pitem> ) >
	endm
TCM_SETITEMA	EQU	( TCM_FIRST + 6 )
TCM_SETITEMW	EQU	( TCM_FIRST + 61 )
ifdef UNICODE
TCM_SETITEM	EQU	<TCM_SETITEMW>
else 
TCM_SETITEM	EQU	<TCM_SETITEMA>
endif 
TabCtrl_SetItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_SETITEM , ( iItem ) , <pitem> ) >
	endm
TCM_INSERTITEMA	EQU	( TCM_FIRST + 7 )
TCM_INSERTITEMW	EQU	( TCM_FIRST + 62 )
ifdef UNICODE
TCM_INSERTITEM	EQU	<TCM_INSERTITEMW>
else 
TCM_INSERTITEM	EQU	<TCM_INSERTITEMA>
endif 
TabCtrl_InsertItem macro hwnd,iItem,pitem
	exitm <SNDMSG ( ( hwnd ) , TCM_INSERTITEM , ( iItem ) , <pitem> ) >
	endm
TCM_DELETEITEM	EQU	( TCM_FIRST + 8 )
TabCtrl_DeleteItem macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_DELETEITEM , ( i ) , 0 ) >
	endm
TCM_DELETEALLITEMS	EQU	( TCM_FIRST + 9 )
TabCtrl_DeleteAllItems macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_DELETEALLITEMS , 0 , 0 ) >
	endm
TCM_GETITEMRECT	EQU	( TCM_FIRST + 10 )
TabCtrl_GetItemRect macro hwnd,i,prc
	exitm <SNDMSG ( ( hwnd ) , TCM_GETITEMRECT , ( i ) , <prc> ) >
	endm
TCM_GETCURSEL	EQU	( TCM_FIRST + 11 )
TabCtrl_GetCurSel macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETCURSEL , 0 , 0 ) >
	endm
TCM_SETCURSEL	EQU	( TCM_FIRST + 12 )
TabCtrl_SetCurSel macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_SETCURSEL , ( i ) , 0 ) >
	endm
TCHT_NOWHERE	EQU	0001h
TCHT_ONITEMICON	EQU	0002h
TCHT_ONITEMLABEL	EQU	0004h
TCHT_ONITEM	EQU	( TCHT_ONITEMICON  or  TCHT_ONITEMLABEL )
if (_WIN32_IE ge 0300h)
LPTC_HITTESTINFO	EQU	<LPTCHITTESTINFO>
TC_HITTESTINFO	EQU	<TCHITTESTINFO>
else 
tagTCHITTESTINFO	EQU	<_TC_HITTESTINFO>
TCHITTESTINFO	EQU	<TC_HITTESTINFO>
LPTCHITTESTINFO	EQU	<LPTC_HITTESTINFO>
endif 
TCHITTESTINFO	struct 
pt	POINT	<>
flags	DWORD	?
TCHITTESTINFO	ends

LPTCHITTESTINFO typedef ptr TCHITTESTINFO

TCM_HITTEST	EQU	( TCM_FIRST + 13 )
TabCtrl_HitTest macro hwndTC,pinfo
	exitm <SNDMSG ( ( hwndTC ) , TCM_HITTEST , 0 , <pinfo> ) >
	endm
TCM_SETITEMEXTRA	EQU	( TCM_FIRST + 14 )
TabCtrl_SetItemExtra macro hwndTC,cb
	exitm <SNDMSG ( ( hwndTC ) , TCM_SETITEMEXTRA , ( cb ) , 0 ) >
	endm
TCM_ADJUSTRECT	EQU	( TCM_FIRST + 40 )
TabCtrl_AdjustRect macro hwnd,bLarger,prc
	exitm <SNDMSG ( hwnd , TCM_ADJUSTRECT , ( bLarger ) , <prc> ) >
	endm
TCM_SETITEMSIZE	EQU	( TCM_FIRST + 41 )
TabCtrl_SetItemSize macro hwnd,x,y
	exitm <SNDMSG ( ( hwnd ) , TCM_SETITEMSIZE , 0 , MAKELPARAM ( x , y ) ) >
	endm
TCM_REMOVEIMAGE	EQU	( TCM_FIRST + 42 )
TabCtrl_RemoveImage macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_REMOVEIMAGE , i , 0 ) >
	endm
TCM_SETPADDING	EQU	( TCM_FIRST + 43 )
TabCtrl_SetPadding macro hwnd,cx_,cy
	exitm <SNDMSG ( ( hwnd ) , TCM_SETPADDING , 0 , MAKELPARAM ( cx_ , cy ) ) >
	endm
TCM_GETROWCOUNT	EQU	( TCM_FIRST + 44 )
TabCtrl_GetRowCount macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETROWCOUNT , 0 , 0 ) >
	endm
TCM_GETTOOLTIPS	EQU	( TCM_FIRST + 45 )
TabCtrl_GetToolTips macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETTOOLTIPS , 0 , 0 ) >
	endm
TCM_SETTOOLTIPS	EQU	( TCM_FIRST + 46 )
TabCtrl_SetToolTips macro hwnd,hwndTT
	exitm <SNDMSG ( ( hwnd ) , TCM_SETTOOLTIPS , ( hwndTT ) , 0 ) >
	endm
TCM_GETCURFOCUS	EQU	( TCM_FIRST + 47 )
TabCtrl_GetCurFocus macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETCURFOCUS , 0 , 0 ) >
	endm
TCM_SETCURFOCUS	EQU	( TCM_FIRST + 48 )
TabCtrl_SetCurFocus macro hwnd,i
	exitm <SNDMSG ( ( hwnd ) , TCM_SETCURFOCUS , i , 0 ) >
	endm
if (_WIN32_IE ge 0300h)
TCM_SETMINTABWIDTH	EQU	( TCM_FIRST + 49 )
TabCtrl_SetMinTabWidth macro hwnd,x
	exitm <SNDMSG ( ( hwnd ) , TCM_SETMINTABWIDTH , 0 , x ) >
	endm
TCM_DESELECTALL	EQU	( TCM_FIRST + 50 )
TabCtrl_DeselectAll macro hwnd,fExcludeFocus
	exitm <SNDMSG ( ( hwnd ) , TCM_DESELECTALL , fExcludeFocus , 0 ) >
	endm
endif 
if (_WIN32_IE ge 0400h)
TCM_HIGHLIGHTITEM	EQU	( TCM_FIRST + 51 )
TabCtrl_HighlightItem macro hwnd,i,fHighlight
	exitm <SNDMSG ( ( hwnd ) , TCM_HIGHLIGHTITEM , ( i ) , MAKELONG ( fHighlight , 0 ) ) >
	endm
TCM_SETEXTENDEDSTYLE	EQU	( TCM_FIRST + 52 )
TabCtrl_SetExtendedStyle macro hwnd,dw_
	exitm <SNDMSG ( ( hwnd ) , TCM_SETEXTENDEDSTYLE , 0 , dw_ ) >
	endm
TCM_GETEXTENDEDSTYLE	EQU	( TCM_FIRST + 53 )
TabCtrl_GetExtendedStyle macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETEXTENDEDSTYLE , 0 , 0 ) >
	endm
TCM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
TabCtrl_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , TCM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
TCM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
TabCtrl_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , TCM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
TCN_KEYDOWN	EQU	( TCN_FIRST - 0 )
if (_WIN32_IE ge 0300h)
TC_KEYDOWN	EQU	<NMTCKEYDOWN>
else 
tagTCKEYDOWN	EQU	<_TC_KEYDOWN>
NMTCKEYDOWN	EQU	<TC_KEYDOWN>
endif 
ifdef _WIN32
	include pshpack1.inc
endif 
NMTCKEYDOWN	struct 
hdr	NMHDR	<>
wVKey	WORD	?
flags	DWORD	?
NMTCKEYDOWN	ends

ifdef _WIN32
	include poppack.inc
endif 
TCN_SELCHANGE	EQU	( TCN_FIRST - 1 )
TCN_SELCHANGING	EQU	( TCN_FIRST - 2 )
if (_WIN32_IE ge 0400h)
TCN_GETOBJECT	EQU	( TCN_FIRST - 3 )
endif 
if (_WIN32_IE ge 0500h)
TCN_FOCUSCHANGE	EQU	( TCN_FIRST - 4 )
endif 
endif 
ifndef NOANIMATE
ifdef _WIN32
ANIMATE_CLASSW	EQU	<L("SysAnimate32")>
ANIMATE_CLASSA	EQU	<"SysAnimate32">
ifdef UNICODE
ANIMATE_CLASS	EQU	<ANIMATE_CLASSW>
else 
ANIMATE_CLASS	EQU	<ANIMATE_CLASSA>
endif 
ACS_CENTER	EQU	0001h
ACS_TRANSPARENT	EQU	0002h
ACS_AUTOPLAY	EQU	0004h
if (_WIN32_IE ge 0300h)
ACS_TIMER	EQU	0008h
endif 
ACM_OPENA	EQU	( WM_USER + 100 )
ACM_OPENW	EQU	( WM_USER + 103 )
ifdef UNICODE
ACM_OPEN	EQU	<ACM_OPENW>
else 
ACM_OPEN	EQU	<ACM_OPENA>
endif 
ACM_PLAY	EQU	( WM_USER + 101 )
ACM_STOP	EQU	( WM_USER + 102 )
ACN_START	EQU	1
ACN_STOP	EQU	2
Animate_Create macro hwndP,id,dwStyle,hInstance
	exitm <CreateWindow ( ANIMATE_CLASS , NULL , dwStyle , 0 , 0 , 0 , 0 , hwndP , ( HMENU ) ( id ) , hInstance , NULL ) >
	endm
Animate_Open macro hwnd,szName
	exitm <SNDMSG ( hwnd , ACM_OPEN , 0 , <szName> ) >
	endm
Animate_OpenEx macro hwnd,hInst,szName
	exitm <SNDMSG ( hwnd , ACM_OPEN , ( hInst ) , <szName> ) >
	endm
Animate_Play macro hwnd,from,to,rep
	exitm <SNDMSG ( hwnd , ACM_PLAY , ( rep ) , MAKELONG ( from , to ) ) >
	endm
Animate_Stop macro hwnd
	exitm <SNDMSG ( hwnd , ACM_STOP , 0 , 0 ) >
	endm
Animate_Close macro hwnd
	exitm <Animate_Open ( hwnd , NULL ) >
	endm
Animate_Seek macro hwnd,frame
	exitm <Animate_Play ( hwnd , frame , frame , 1 ) >
	endm
endif 
endif 
if (_WIN32_IE ge 0300h)
ifndef NOMONTHCAL
ifdef _WIN32
MONTHCAL_CLASSW	EQU	<L("SysMonthCal32")>
MONTHCAL_CLASSA	EQU	<"SysMonthCal32">
ifdef UNICODE
MONTHCAL_CLASS	EQU	<MONTHCAL_CLASSW>
else 
MONTHCAL_CLASS	EQU	<MONTHCAL_CLASSA>
endif 
MONTHDAYSTATE typedef DWORD
LPMONTHDAYSTATE typedef ptr DWORD
MCM_FIRST	EQU	1000h
MCM_GETCURSEL	EQU	( MCM_FIRST + 1 )
MonthCal_GetCurSel macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_GETCURSEL , 0 , ( pst ) ) >
	endm
MCM_SETCURSEL	EQU	( MCM_FIRST + 2 )
MonthCal_SetCurSel macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_SETCURSEL , 0 , ( pst ) ) >
	endm
MCM_GETMAXSELCOUNT	EQU	( MCM_FIRST + 3 )
MonthCal_GetMaxSelCount macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMAXSELCOUNT , 0 , 0 ) >
	endm
MCM_SETMAXSELCOUNT	EQU	( MCM_FIRST + 4 )
MonthCal_SetMaxSelCount macro hmc,n
	exitm <SNDMSG ( hmc , MCM_SETMAXSELCOUNT , ( n ) , 0 ) >
	endm
MCM_GETSELRANGE	EQU	( MCM_FIRST + 5 )
MonthCal_GetSelRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_GETSELRANGE , 0 , ( rgst ) ) >
	endm
MCM_SETSELRANGE	EQU	( MCM_FIRST + 6 )
MonthCal_SetSelRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_SETSELRANGE , 0 , ( rgst ) ) >
	endm
MCM_GETMONTHRANGE	EQU	( MCM_FIRST + 7 )
MonthCal_GetMonthRange macro hmc,gmr,rgst
	exitm <SNDMSG ( hmc , MCM_GETMONTHRANGE , ( gmr ) , ( rgst ) ) >
	endm
MCM_SETDAYSTATE	EQU	( MCM_FIRST + 8 )
MonthCal_SetDayState macro hmc,cbds,rgds
	exitm <SNDMSG ( hmc , MCM_SETDAYSTATE , ( cbds ) , ( rgds ) ) >
	endm
MCM_GETMINREQRECT	EQU	( MCM_FIRST + 9 )
MonthCal_GetMinReqRect macro hmc,prc
	exitm <SNDMSG ( hmc , MCM_GETMINREQRECT , 0 , ( prc ) ) >
	endm
MCM_SETCOLOR	EQU	( MCM_FIRST + 10 )
MonthCal_SetColor macro hmc,iColor,clr
	exitm <SNDMSG ( hmc , MCM_SETCOLOR , iColor , clr ) >
	endm
MCM_GETCOLOR	EQU	( MCM_FIRST + 11 )
MonthCal_GetColor macro hmc,iColor
	exitm <SNDMSG ( hmc , MCM_GETCOLOR , iColor , 0 ) >
	endm
MCSC_BACKGROUND	EQU	0
MCSC_TEXT	EQU	1
MCSC_TITLEBK	EQU	2
MCSC_TITLETEXT	EQU	3
MCSC_MONTHBK	EQU	4
MCSC_TRAILINGTEXT	EQU	5
MCM_SETTODAY	EQU	( MCM_FIRST + 12 )
MonthCal_SetToday macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_SETTODAY , 0 , ( pst ) ) >
	endm
MCM_GETTODAY	EQU	( MCM_FIRST + 13 )
MonthCal_GetToday macro hmc,pst
	exitm <SNDMSG ( hmc , MCM_GETTODAY , 0 , ( pst ) ) >
	endm
MCM_HITTEST	EQU	( MCM_FIRST + 14 )
MonthCal_HitTest macro hmc,pinfo
	exitm <SNDMSG ( hmc , MCM_HITTEST , 0 , <pinfo> ) >
	endm
MCHITTESTINFO	struct 
cbSize	DWORD	?
pt	POINT	<>
uHit	DWORD	?
st_	SYSTEMTIME	<>
MCHITTESTINFO	ends

PMCHITTESTINFO typedef ptr MCHITTESTINFO

MCHT_TITLE	EQU	00010000h
MCHT_CALENDAR	EQU	00020000h
MCHT_TODAYLINK	EQU	00030000h
MCHT_NEXT	EQU	01000000h
MCHT_PREV	EQU	02000000h
MCHT_NOWHERE	EQU	00000000h
MCHT_TITLEBK	EQU	<( MCHT_TITLE )>
MCHT_TITLEMONTH	EQU	( MCHT_TITLE  or  0001h )
MCHT_TITLEYEAR	EQU	( MCHT_TITLE  or  0002h )
MCHT_TITLEBTNNEXT	EQU	( MCHT_TITLE  or  MCHT_NEXT  or  0003h )
MCHT_TITLEBTNPREV	EQU	( MCHT_TITLE  or  MCHT_PREV  or  0003h )
MCHT_CALENDARBK	EQU	<( MCHT_CALENDAR )>
MCHT_CALENDARDATE	EQU	( MCHT_CALENDAR  or  0001h )
MCHT_CALENDARDATENEXT	EQU	( MCHT_CALENDARDATE  or  MCHT_NEXT )
MCHT_CALENDARDATEPREV	EQU	( MCHT_CALENDARDATE  or  MCHT_PREV )
MCHT_CALENDARDAY	EQU	( MCHT_CALENDAR  or  0002h )
MCHT_CALENDARWEEKNUM	EQU	( MCHT_CALENDAR  or  0003h )
MCM_SETFIRSTDAYOFWEEK	EQU	( MCM_FIRST + 15 )
MonthCal_SetFirstDayOfWeek macro hmc,iDay
	exitm <SNDMSG ( hmc , MCM_SETFIRSTDAYOFWEEK , 0 , iDay ) >
	endm
MCM_GETFIRSTDAYOFWEEK	EQU	( MCM_FIRST + 16 )
MonthCal_GetFirstDayOfWeek macro hmc
	exitm <SNDMSG ( hmc , MCM_GETFIRSTDAYOFWEEK , 0 , 0 ) >
	endm
MCM_GETRANGE	EQU	( MCM_FIRST + 17 )
MonthCal_GetRange macro hmc,rgst
	exitm <SNDMSG ( hmc , MCM_GETRANGE , 0 , ( rgst ) ) >
	endm
MCM_SETRANGE	EQU	( MCM_FIRST + 18 )
MonthCal_SetRange macro hmc,gd,rgst
	exitm <SNDMSG ( hmc , MCM_SETRANGE , ( gd ) , ( rgst ) ) >
	endm
MCM_GETMONTHDELTA	EQU	( MCM_FIRST + 19 )
MonthCal_GetMonthDelta macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMONTHDELTA , 0 , 0 ) >
	endm
MCM_SETMONTHDELTA	EQU	( MCM_FIRST + 20 )
MonthCal_SetMonthDelta macro hmc,n
	exitm <SNDMSG ( hmc , MCM_SETMONTHDELTA , n , 0 ) >
	endm
MCM_GETMAXTODAYWIDTH	EQU	( MCM_FIRST + 21 )
MonthCal_GetMaxTodayWidth macro hmc
	exitm <SNDMSG ( hmc , MCM_GETMAXTODAYWIDTH , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0400h)
MCM_SETUNICODEFORMAT	EQU	<CCM_SETUNICODEFORMAT>
MonthCal_SetUnicodeFormat macro hwnd,fUnicode
	exitm <SNDMSG ( ( hwnd ) , MCM_SETUNICODEFORMAT , ( fUnicode ) , 0 ) >
	endm
MCM_GETUNICODEFORMAT	EQU	<CCM_GETUNICODEFORMAT>
MonthCal_GetUnicodeFormat macro hwnd
	exitm <SNDMSG ( ( hwnd ) , MCM_GETUNICODEFORMAT , 0 , 0 ) >
	endm
endif 
NMSELCHANGE	struct 
nmhdr	NMHDR	<>
stSelStart	SYSTEMTIME	<>
stSelEnd	SYSTEMTIME	<>
NMSELCHANGE	ends

LPNMSELCHANGE typedef ptr NMSELCHANGE

MCN_SELCHANGE	EQU	( MCN_FIRST + 1 )
NMDAYSTATE	struct 
nmhdr	NMHDR	<>
stStart	SYSTEMTIME	<>
cDayState	DWORD	?
prgDayState	LPMONTHDAYSTATE	?
NMDAYSTATE	ends

LPNMDAYSTATE typedef ptr NMDAYSTATE

MCN_GETDAYSTATE	EQU	( MCN_FIRST + 3 )
NMSELECT typedef NMSELCHANGE
LPNMSELECT typedef ptr NMSELCHANGE
MCN_SELECT	EQU	( MCN_FIRST + 4 )
MCS_DAYSTATE	EQU	0001h
MCS_MULTISELECT	EQU	0002h
MCS_WEEKNUMBERS	EQU	0004h
if (_WIN32_IE ge 0400h)
MCS_NOTODAYCIRCLE	EQU	0008h
MCS_NOTODAY	EQU	0010h
else 
MCS_NOTODAY	EQU	0008h
endif 
GMR_VISIBLE	EQU	0
GMR_DAYSTATE	EQU	1
endif 
endif 
ifndef NODATETIMEPICK
ifdef _WIN32
DATETIMEPICK_CLASSW	EQU	<L("SysDateTimePick32")>
DATETIMEPICK_CLASSA	EQU	<"SysDateTimePick32">
ifdef UNICODE
DATETIMEPICK_CLASS	EQU	<DATETIMEPICK_CLASSW>
else 
DATETIMEPICK_CLASS	EQU	<DATETIMEPICK_CLASSA>
endif 
DTM_FIRST	EQU	1000h
DTM_GETSYSTEMTIME	EQU	( DTM_FIRST + 1 )
DateTime_GetSystemtime macro hdp,pst
	exitm <SNDMSG ( hdp , DTM_GETSYSTEMTIME , 0 , ( pst ) ) >
	endm
DTM_SETSYSTEMTIME	EQU	( DTM_FIRST + 2 )
DateTime_SetSystemtime macro hdp,gd,pst
	exitm <SNDMSG ( hdp , DTM_SETSYSTEMTIME , ( gd ) , ( pst ) ) >
	endm
DTM_GETRANGE	EQU	( DTM_FIRST + 3 )
DateTime_GetRange macro hdp,rgst
	exitm <SNDMSG ( hdp , DTM_GETRANGE , 0 , ( rgst ) ) >
	endm
DTM_SETRANGE	EQU	( DTM_FIRST + 4 )
DateTime_SetRange macro hdp,gd,rgst
	exitm <SNDMSG ( hdp , DTM_SETRANGE , ( gd ) , ( rgst ) ) >
	endm
DTM_SETFORMATA	EQU	( DTM_FIRST + 5 )
DTM_SETFORMATW	EQU	( DTM_FIRST + 50 )
ifdef UNICODE
DTM_SETFORMAT	EQU	<DTM_SETFORMATW>
else 
DTM_SETFORMAT	EQU	<DTM_SETFORMATA>
endif 
DateTime_SetFormat macro hdp,sz
	exitm <SNDMSG ( hdp , DTM_SETFORMAT , 0 , ( sz ) ) >
	endm
DTM_SETMCCOLOR	EQU	( DTM_FIRST + 6 )
DateTime_SetMonthCalColor macro hdp,iColor,clr
	exitm <SNDMSG ( hdp , DTM_SETMCCOLOR , iColor , clr ) >
	endm
DTM_GETMCCOLOR	EQU	( DTM_FIRST + 7 )
DateTime_GetMonthCalColor macro hdp,iColor
	exitm <SNDMSG ( hdp , DTM_GETMCCOLOR , iColor , 0 ) >
	endm
DTM_GETMONTHCAL	EQU	( DTM_FIRST + 8 )
DateTime_GetMonthCal macro hdp
	exitm <SNDMSG ( hdp , DTM_GETMONTHCAL , 0 , 0 ) >
	endm
if (_WIN32_IE ge 0400h)
DTM_SETMCFONT	EQU	( DTM_FIRST + 9 )
DateTime_SetMonthCalFont macro hdp,hfont,fRedraw
	exitm <SNDMSG ( hdp , DTM_SETMCFONT , ( hfont ) , ( fRedraw ) ) >
	endm
DTM_GETMCFONT	EQU	( DTM_FIRST + 10 )
DateTime_GetMonthCalFont macro hdp
	exitm <SNDMSG ( hdp , DTM_GETMCFONT , 0 , 0 ) >
	endm
endif 
DTS_UPDOWN	EQU	0001h
DTS_SHOWNONE	EQU	0002h
DTS_SHORTDATEFORMAT	EQU	0000h
DTS_LONGDATEFORMAT	EQU	0004h
if (_WIN32_IE ge 500h)
DTS_SHORTDATECENTURYFORMAT	EQU	000Ch
endif 
DTS_TIMEFORMAT	EQU	0009h
DTS_APPCANPARSE	EQU	0010h
DTS_RIGHTALIGN	EQU	0020h
DTN_DATETIMECHANGE	EQU	( DTN_FIRST + 1 )
NMDATETIMECHANGE	struct 
nmhdr	NMHDR	<>
dwFlags	DWORD	?
st_	SYSTEMTIME	<>
NMDATETIMECHANGE	ends

LPNMDATETIMECHANGE typedef ptr NMDATETIMECHANGE

DTN_USERSTRINGA	EQU	( DTN_FIRST + 2 )
DTN_USERSTRINGW	EQU	( DTN_FIRST + 15 )
NMDATETIMESTRINGA	struct 
nmhdr	NMHDR	<>
pszUserString	LPSTR	?
st_	SYSTEMTIME	<>
dwFlags	DWORD	?
NMDATETIMESTRINGA	ends

LPNMDATETIMESTRINGA typedef ptr NMDATETIMESTRINGA

NMDATETIMESTRINGW	struct 
nmhdr	NMHDR	<>
pszUserString	LPWSTR	?
st_	SYSTEMTIME	<>
dwFlags	DWORD	?
NMDATETIMESTRINGW	ends

LPNMDATETIMESTRINGW typedef ptr NMDATETIMESTRINGW

ifdef UNICODE
DTN_USERSTRING	EQU	<DTN_USERSTRINGW>
NMDATETIMESTRING	EQU	<NMDATETIMESTRINGW>
LPNMDATETIMESTRING	EQU	<LPNMDATETIMESTRINGW>
else 
DTN_USERSTRING	EQU	<DTN_USERSTRINGA>
NMDATETIMESTRING	EQU	<NMDATETIMESTRINGA>
LPNMDATETIMESTRING	EQU	<LPNMDATETIMESTRINGA>
endif 
DTN_WMKEYDOWNA	EQU	( DTN_FIRST + 3 )
DTN_WMKEYDOWNW	EQU	( DTN_FIRST + 16 )
NMDATETIMEWMKEYDOWNA	struct 
nmhdr	NMHDR	<>
nVirtKey	DWORD	?
pszFormat	LPSTR	?
st_	SYSTEMTIME	<>
NMDATETIMEWMKEYDOWNA	ends

LPNMDATETIMEWMKEYDOWNA typedef ptr NMDATETIMEWMKEYDOWNA

NMDATETIMEWMKEYDOWNW	struct 
nmhdr	NMHDR	<>
nVirtKey	DWORD	?
pszFormat	LPWSTR	?
st_	SYSTEMTIME	<>
NMDATETIMEWMKEYDOWNW	ends

LPNMDATETIMEWMKEYDOWNW typedef ptr NMDATETIMEWMKEYDOWNW

ifdef UNICODE
DTN_WMKEYDOWN	EQU	<DTN_WMKEYDOWNW>
NMDATETIMEWMKEYDOWN	EQU	<NMDATETIMEWMKEYDOWNW>
LPNMDATETIMEWMKEYDOWN	EQU	<LPNMDATETIMEWMKEYDOWNW>
else 
DTN_WMKEYDOWN	EQU	<DTN_WMKEYDOWNA>
NMDATETIMEWMKEYDOWN	EQU	<NMDATETIMEWMKEYDOWNA>
LPNMDATETIMEWMKEYDOWN	EQU	<LPNMDATETIMEWMKEYDOWNA>
endif 
DTN_FORMATA	EQU	( DTN_FIRST + 4 )
DTN_FORMATW	EQU	( DTN_FIRST + 17 )
NMDATETIMEFORMATA	struct 
nmhdr	NMHDR	<>
pszFormat	LPSTR	?
st_	SYSTEMTIME	<>
pszDisplay	LPSTR	?
szDisplay	CHAR 64 dup (?)
NMDATETIMEFORMATA	ends

LPNMDATETIMEFORMATA typedef ptr NMDATETIMEFORMATA

NMDATETIMEFORMATW	struct 
nmhdr	NMHDR	<>
pszFormat	LPWSTR	?
st_	SYSTEMTIME	<>
pszDisplay	LPWSTR	?
szDisplay	WCHAR 64 dup (?)
NMDATETIMEFORMATW	ends

LPNMDATETIMEFORMATW typedef ptr NMDATETIMEFORMATW

ifdef UNICODE
DTN_FORMAT	EQU	<DTN_FORMATW>
NMDATETIMEFORMAT	EQU	<NMDATETIMEFORMATW>
LPNMDATETIMEFORMAT	EQU	<LPNMDATETIMEFORMATW>
else 
DTN_FORMAT	EQU	<DTN_FORMATA>
NMDATETIMEFORMAT	EQU	<NMDATETIMEFORMATA>
LPNMDATETIMEFORMAT	EQU	<LPNMDATETIMEFORMATA>
endif 
DTN_FORMATQUERYA	EQU	( DTN_FIRST + 5 )
DTN_FORMATQUERYW	EQU	( DTN_FIRST + 18 )
NMDATETIMEFORMATQUERYA	struct 
nmhdr	NMHDR	<>
pszFormat	LPSTR	?
szMax	SIZE_	<>
NMDATETIMEFORMATQUERYA	ends

LPNMDATETIMEFORMATQUERYA typedef ptr NMDATETIMEFORMATQUERYA

NMDATETIMEFORMATQUERYW	struct 
nmhdr	NMHDR	<>
pszFormat	LPWSTR	?
szMax	SIZE_	<>
NMDATETIMEFORMATQUERYW	ends

LPNMDATETIMEFORMATQUERYW typedef ptr NMDATETIMEFORMATQUERYW

ifdef UNICODE
DTN_FORMATQUERY	EQU	<DTN_FORMATQUERYW>
NMDATETIMEFORMATQUERY	EQU	<NMDATETIMEFORMATQUERYW>
LPNMDATETIMEFORMATQUERY	EQU	<LPNMDATETIMEFORMATQUERYW>
else 
DTN_FORMATQUERY	EQU	<DTN_FORMATQUERYA>
NMDATETIMEFORMATQUERY	EQU	<NMDATETIMEFORMATQUERYA>
LPNMDATETIMEFORMATQUERY	EQU	<LPNMDATETIMEFORMATQUERYA>
endif 
DTN_DROPDOWN	EQU	( DTN_FIRST + 6 )
DTN_CLOSEUP	EQU	( DTN_FIRST + 7 )
GDTR_MIN	EQU	0001h
GDTR_MAX	EQU	0002h
GDT_ERROR	EQU	- 1
GDT_VALID	EQU	0
GDT_NONE	EQU	1
endif 
endif 
if (_WIN32_IE ge 0400h)
ifndef NOIPADDRESS
IPM_CLEARADDRESS	EQU	( WM_USER + 100 )
IPM_SETADDRESS	EQU	( WM_USER + 101 )
IPM_GETADDRESS	EQU	( WM_USER + 102 )
IPM_SETRANGE	EQU	( WM_USER + 103 )
IPM_SETFOCUS	EQU	( WM_USER + 104 )
IPM_ISBLANK	EQU	( WM_USER + 105 )
WC_IPADDRESSW	EQU	<L("SysIPAddress32")>
WC_IPADDRESSA	EQU	<"SysIPAddress32">
ifdef UNICODE
WC_IPADDRESS	EQU	<WC_IPADDRESSW>
else 
WC_IPADDRESS	EQU	<WC_IPADDRESSA>
endif 
IPN_FIELDCHANGED	EQU	( IPN_FIRST - 0 )
NMIPADDRESS	struct 
hdr	NMHDR	<>
iField	DWORD	?
iValue	DWORD	?
NMIPADDRESS	ends

LPNMIPADDRESS typedef ptr NMIPADDRESS

MAKEIPRANGE macro low_,high_
	exitm <( ( ( ( high_ )  shl  8 ) + ( low_ ) ) ) >
	endm
MAKEIPADDRESS macro b1,b2,b3,b4
	exitm <( ( ( ( b1 )  shl  24 ) + ( ( b2 )  shl  16 ) + ( ( b3 )  shl  8 ) + ( ( b4 ) ) ) ) >
	endm
FIRST_IPADDRESS macro x
	exitm <( ( x  shr  24 )  and  0ffh ) >
	endm
SECOND_IPADDRESS macro x
	exitm <( ( x  shr  16 )  and  0ffh ) >
	endm
THIRD_IPADDRESS macro x
	exitm <( ( x  shr  8 )  and  0ffh ) >
	endm
FOURTH_IPADDRESS macro x
	exitm <( x  and  0ffh ) >
	endm
endif 
ifndef NOPAGESCROLLER
WC_PAGESCROLLERW	EQU	<L("SysPager")>
WC_PAGESCROLLERA	EQU	<"SysPager">
ifdef UNICODE
WC_PAGESCROLLER	EQU	<WC_PAGESCROLLERW>
else 
WC_PAGESCROLLER	EQU	<WC_PAGESCROLLERA>
endif 
PGS_VERT	EQU	00000000h
PGS_HORZ	EQU	00000001h
PGS_AUTOSCROLL	EQU	00000002h
PGS_DRAGNDROP	EQU	00000004h
PGF_INVISIBLE	EQU	0
PGF_NORMAL	EQU	1
PGF_GRAYED	EQU	2
PGF_DEPRESSED	EQU	4
PGF_HOT	EQU	8
PGB_TOPORLEFT	EQU	0
PGB_BOTTOMORRIGHT	EQU	1
PGM_SETCHILD	EQU	( PGM_FIRST + 1 )
Pager_SetChild macro hwnd,hwndChild
	exitm <SNDMSG ( ( hwnd ) , PGM_SETCHILD , 0 , ( hwndChild ) ) >
	endm
PGM_RECALCSIZE	EQU	( PGM_FIRST + 2 )
Pager_RecalcSize macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_RECALCSIZE , 0 , 0 ) >
	endm
PGM_FORWARDMOUSE	EQU	( PGM_FIRST + 3 )
Pager_ForwardMouse macro hwnd,bForward
	exitm <SNDMSG ( ( hwnd ) , PGM_FORWARDMOUSE , ( bForward ) , 0 ) >
	endm
PGM_SETBKCOLOR	EQU	( PGM_FIRST + 4 )
Pager_SetBkColor macro hwnd,clr
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBKCOLOR , 0 , ( clr ) ) >
	endm
PGM_GETBKCOLOR	EQU	( PGM_FIRST + 5 )
Pager_GetBkColor macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBKCOLOR , 0 , 0 ) >
	endm
PGM_SETBORDER	EQU	( PGM_FIRST + 6 )
Pager_SetBorder macro hwnd,iBorder
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBORDER , 0 , ( iBorder ) ) >
	endm
PGM_GETBORDER	EQU	( PGM_FIRST + 7 )
Pager_GetBorder macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBORDER , 0 , 0 ) >
	endm
PGM_SETPOS	EQU	( PGM_FIRST + 8 )
Pager_SetPos macro hwnd,iPos
	exitm <SNDMSG ( ( hwnd ) , PGM_SETPOS , 0 , ( iPos ) ) >
	endm
PGM_GETPOS	EQU	( PGM_FIRST + 9 )
Pager_GetPos macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETPOS , 0 , 0 ) >
	endm
PGM_SETBUTTONSIZE	EQU	( PGM_FIRST + 10 )
Pager_SetButtonSize macro hwnd,iSize
	exitm <SNDMSG ( ( hwnd ) , PGM_SETBUTTONSIZE , 0 , ( iSize ) ) >
	endm
PGM_GETBUTTONSIZE	EQU	( PGM_FIRST + 11 )
Pager_GetButtonSize macro hwnd
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBUTTONSIZE , 0 , 0 ) >
	endm
PGM_GETBUTTONSTATE	EQU	( PGM_FIRST + 12 )
Pager_GetButtonState macro hwnd,iButton
	exitm <SNDMSG ( ( hwnd ) , PGM_GETBUTTONSTATE , 0 , ( iButton ) ) >
	endm
PGM_GETDROPTARGET	EQU	<CCM_GETDROPTARGET>
Pager_GetDropTarget macro hwnd,ppdt
	exitm <SNDMSG ( ( hwnd ) , PGM_GETDROPTARGET , 0 , ( ppdt ) ) >
	endm
PGN_SCROLL	EQU	( PGN_FIRST - 1 )
PGF_SCROLLUP	EQU	1
PGF_SCROLLDOWN	EQU	2
PGF_SCROLLLEFT	EQU	4
PGF_SCROLLRIGHT	EQU	8
PGK_SHIFT	EQU	1
PGK_CONTROL	EQU	2
PGK_MENU	EQU	4
ifdef _WIN32
	include pshpack1.inc
endif 
NMPGSCROLL	struct 
hdr	NMHDR	<>
fwKeys	WORD	?
rcParent	RECT	<>
iDir	DWORD	?
iXpos	DWORD	?
iYpos	DWORD	?
iScroll	DWORD	?
NMPGSCROLL	ends

LPNMPGSCROLL typedef ptr NMPGSCROLL

ifdef _WIN32
	include poppack.inc
endif 
PGN_CALCSIZE	EQU	( PGN_FIRST - 2 )
PGF_CALCWIDTH	EQU	1
PGF_CALCHEIGHT	EQU	2
NMPGCALCSIZE	struct 
hdr	NMHDR	<>
dwFlag	DWORD	?
iWidth	DWORD	?
iHeight	DWORD	?
NMPGCALCSIZE	ends

LPNMPGCALCSIZE typedef ptr NMPGCALCSIZE

PGN_HOTITEMCHANGE	EQU	( PGN_FIRST - 3 )
NMPGHOTITEM	struct 
hdr	NMHDR	<>
idOld	DWORD	?
idNew	DWORD	?
dwFlags	DWORD	?
NMPGHOTITEM	ends

LPNMPGHOTITEM typedef ptr NMPGHOTITEM

endif 
ifndef NONATIVEFONTCTL
WC_NATIVEFONTCTLW	EQU	<L("NativeFontCtl")>
WC_NATIVEFONTCTLA	EQU	<"NativeFontCtl">
ifdef UNICODE
WC_NATIVEFONTCTL	EQU	<WC_NATIVEFONTCTLW>
else 
WC_NATIVEFONTCTL	EQU	<WC_NATIVEFONTCTLA>
endif 
NFS_EDIT	EQU	0001h
NFS_STATIC	EQU	0002h
NFS_LISTCOMBO	EQU	0004h
NFS_BUTTON	EQU	0008h
NFS_ALL	EQU	0010h
NFS_USEFONTASSOC	EQU	0020h
endif 
ifndef NOBUTTON
ifdef _WIN32
WC_BUTTONA	EQU	<"Button">
WC_BUTTONW	EQU	<L("Button")>
ifdef UNICODE
WC_BUTTON	EQU	<WC_BUTTONW>
else 
WC_BUTTON	EQU	<WC_BUTTONA>
endif 
else 
WC_BUTTON	EQU	<"Button">
endif 
if (_WIN32_WINNT ge 501h)
BUTTON_IMAGELIST_ALIGN_LEFT	EQU	0
BUTTON_IMAGELIST_ALIGN_RIGHT	EQU	1
BUTTON_IMAGELIST_ALIGN_TOP	EQU	2
BUTTON_IMAGELIST_ALIGN_BOTTOM	EQU	3
BUTTON_IMAGELIST_ALIGN_CENTER	EQU	4
BUTTON_IMAGELIST	struct 
himl	HIMAGELIST	?
margin	RECT	<>
uAlign	DWORD	?
BUTTON_IMAGELIST	ends

PBUTTON_IMAGELIST typedef ptr BUTTON_IMAGELIST

BCM_GETIDEALSIZE	EQU	( BCM_FIRST + 0001h )
Button_GetIdealSize macro hwnd,psize
	exitm <SNDMSG ( ( hwnd ) , BCM_GETIDEALSIZE , 0 , ( psize ) ) >
	endm
BCM_SETIMAGELIST	EQU	( BCM_FIRST + 0002h )
Button_SetImageList macro hwnd,pbuttonImagelist
	exitm <SNDMSG ( ( hwnd ) , BCM_SETIMAGELIST , 0 , ( pbuttonImagelist ) ) >
	endm
BCM_GETIMAGELIST	EQU	( BCM_FIRST + 0003h )
Button_GetImageList macro hwnd,pbuttonImagelist
	exitm <SNDMSG ( ( hwnd ) , BCM_GETIMAGELIST , 0 , ( pbuttonImagelist ) ) >
	endm
BCM_SETTEXTMARGIN	EQU	( BCM_FIRST + 0004h )
Button_SetTextMargin macro hwnd,pmargin
	exitm <SNDMSG ( ( hwnd ) , BCM_SETTEXTMARGIN , 0 , ( pmargin ) ) >
	endm
BCM_GETTEXTMARGIN	EQU	( BCM_FIRST + 0005h )
Button_GetTextMargin macro hwnd,pmargin
	exitm <SNDMSG ( ( hwnd ) , BCM_GETTEXTMARGIN , 0 , ( pmargin ) ) >
	endm
NMBCHOTITEM	struct 
hdr	NMHDR	<>
dwFlags	DWORD	?
NMBCHOTITEM	ends

LPNMBCHOTITEM typedef ptr NMBCHOTITEM

BCN_HOTITEMCHANGE	EQU	( BCN_FIRST + 0001h )
BST_HOT	EQU	0200h
endif 
endif 
ifndef NOSTATIC
ifdef _WIN32
WC_STATICA	EQU	<"Static">
WC_STATICW	EQU	<L("Static")>
ifdef UNICODE
WC_STATIC	EQU	<WC_STATICW>
else 
WC_STATIC	EQU	<WC_STATICA>
endif 
else 
WC_STATIC	EQU	<"Static">
endif 
endif 
ifndef NOEDIT
ifdef _WIN32
WC_EDITA	EQU	<"Edit">
WC_EDITW	EQU	<L("Edit")>
ifdef UNICODE
WC_EDIT	EQU	<WC_EDITW>
else 
WC_EDIT	EQU	<WC_EDITA>
endif 
else 
WC_EDIT	EQU	<"Edit">
endif 
if (_WIN32_WINNT ge 501h)
EM_SETCUEBANNER	EQU	( ECM_FIRST + 1 )
Edit_SetCueBannerText macro hwnd,lpcwText
	exitm <SNDMSG ( ( hwnd ) , EM_SETCUEBANNER , 0 , ( lpcwText ) ) >
	endm
EM_GETCUEBANNER	EQU	( ECM_FIRST + 2 )
Edit_GetCueBannerText macro hwnd,lpwText,cchText
	exitm <SNDMSG ( ( hwnd ) , EM_GETCUEBANNER , ( lpwText ) , ( cchText ) ) >
	endm
EDITBALLOONTIP	struct 
cbStruct	DWORD	?
pszTitle	LPWSTR	?
pszText	LPWSTR	?
ttiIcon	DWORD	?
EDITBALLOONTIP	ends

PEDITBALLOONTIP typedef ptr EDITBALLOONTIP

EM_SHOWBALLOONTIP	EQU	( ECM_FIRST + 3 )
Edit_ShowBalloonTip macro hwnd,peditballoontip
	exitm <SNDMSG ( ( hwnd ) , EM_SHOWBALLOONTIP , 0 , ( peditballoontip ) ) >
	endm
EM_HIDEBALLOONTIP	EQU	( ECM_FIRST + 4 )
Edit_HideBalloonTip macro hwnd
	exitm <SNDMSG ( ( hwnd ) , EM_HIDEBALLOONTIP , 0 , 0 ) >
	endm
endif 
endif 
ifndef NOLISTBOX
ifdef _WIN32
WC_LISTBOXA	EQU	<"ListBox">
WC_LISTBOXW	EQU	<L("ListBox")>
ifdef UNICODE
WC_LISTBOX	EQU	<WC_LISTBOXW>
else 
WC_LISTBOX	EQU	<WC_LISTBOXA>
endif 
else 
WC_LISTBOX	EQU	<"ListBox">
endif 
endif 
ifndef NOCOMBOBOX
ifdef _WIN32
WC_COMBOBOXA	EQU	<"ComboBox">
WC_COMBOBOXW	EQU	<L("ComboBox")>
ifdef UNICODE
WC_COMBOBOX	EQU	<WC_COMBOBOXW>
else 
WC_COMBOBOX	EQU	<WC_COMBOBOXA>
endif 
else 
WC_COMBOBOX	EQU	<"ComboBox">
endif 
endif 
if (_WIN32_WINNT ge 501h)
CB_SETMINVISIBLE	EQU	( CBM_FIRST + 1 )
CB_GETMINVISIBLE	EQU	( CBM_FIRST + 2 )
ComboBox_SetMinVisible macro hwnd,iMinVisible
	exitm <SNDMSG ( ( hwnd ) , CB_SETMINVISIBLE , iMinVisible , 0 ) >
	endm
ComboBox_GetMinVisible macro hwnd
	exitm <SNDMSG ( ( hwnd ) , CB_GETMINVISIBLE , 0 , 0 ) >
	endm
endif 
ifndef NOSCROLLBAR
ifdef _WIN32
WC_SCROLLBARA	EQU	<"ScrollBar">
WC_SCROLLBARW	EQU	<L("ScrollBar")>
ifdef UNICODE
WC_SCROLLBAR	EQU	<WC_SCROLLBARW>
else 
WC_SCROLLBAR	EQU	<WC_SCROLLBARA>
endif 
else 
WC_SCROLLBAR	EQU	<"ScrollBar">
endif 
endif 
ifdef _WIN32
if (_WIN32_WINNT ge 501h)
INVALID_LINK_INDEX	EQU	- 1
MAX_LINKID_TEXT	EQU	48
;L_MAX_URL_LENGTH	EQU	<( 2048 + 32 + sizeof ( "://" ) )>
L_MAX_URL_LENGTH	EQU	<( 2048 + 32 + 3 )>
WC_LINK	EQU	<L("SysLink")>
LWS_TRANSPARENT	EQU	0001h
LWS_IGNORERETURN	EQU	0002h
LIF_ITEMINDEX	EQU	00000001h
LIF_STATE	EQU	00000002h
LIF_ITEMID	EQU	00000004h
LIF_URL	EQU	00000008h
LIS_FOCUSED	EQU	00000001h
LIS_ENABLED	EQU	00000002h
LIS_VISITED	EQU	00000004h
LITEM	struct 
mask_	DWORD	?
iLink	DWORD	?
state	DWORD	?
stateMask	DWORD	?
szID	WCHAR MAX_LINKID_TEXT dup (?)
szUrl	WCHAR L_MAX_URL_LENGTH dup (?)
LITEM	ends

PLITEM typedef ptr LITEM

LHITTESTINFO	struct 
pt	POINT	<>
item	LITEM	<>
LHITTESTINFO	ends

PLHITTESTINFO typedef ptr LHITTESTINFO

NMLINK	struct 
hdr	NMHDR	<>
item	LITEM	<>
NMLINK	ends

PNMLINK typedef ptr NMLINK

LM_HITTEST	EQU	( WM_USER + 300h )
LM_GETIDEALHEIGHT	EQU	( WM_USER + 301h )
LM_SETITEM	EQU	( WM_USER + 302h )
LM_GETITEM	EQU	( WM_USER + 303h )
endif 
endif 
ifndef NOMUI
InitMUILanguage proto WINSTDCALLCONV :LANGID
GetMUILanguage proto WINSTDCALLCONV 
endif 
endif 
ifdef _WIN32
ifndef NOTRACKMOUSEEVENT
ifndef WM_MOUSEHOVER
WM_MOUSEHOVER	EQU	02A1h
WM_MOUSELEAVE	EQU	02A3h
endif 
ifndef TME_HOVER
TME_HOVER	EQU	00000001h
TME_LEAVE	EQU	00000002h
if (WINVER ge 0500h)
TME_NONCLIENT	EQU	00000010h
endif 
TME_QUERY	EQU	40000000h
TME_CANCEL	EQU	80000000h
HOVER_DEFAULT	EQU	0FFFFFFFFh
TRACKMOUSEEVENT	struct 
cbSize	DWORD	?
dwFlags	DWORD	?
hwndTrack	HWND	?
dwHoverTime	DWORD	?
TRACKMOUSEEVENT	ends

LPTRACKMOUSEEVENT typedef ptr TRACKMOUSEEVENT

endif 
@DefProto WINCOMMCTRLAPI, _TrackMouseEvent, stdcall, , <:LPTRACKMOUSEEVENT>, 4
endif 
if (_WIN32_IE ge 0400h)
ifndef NOFLATSBAPIS
WSB_PROP_CYVSCROLL	EQU	00000001h
WSB_PROP_CXHSCROLL	EQU	00000002h
WSB_PROP_CYHSCROLL	EQU	00000004h
WSB_PROP_CXVSCROLL	EQU	00000008h
WSB_PROP_CXHTHUMB	EQU	00000010h
WSB_PROP_CYVTHUMB	EQU	00000020h
WSB_PROP_VBKGCOLOR	EQU	00000040h
WSB_PROP_HBKGCOLOR	EQU	00000080h
WSB_PROP_VSTYLE	EQU	00000100h
WSB_PROP_HSTYLE	EQU	00000200h
WSB_PROP_WINSTYLE	EQU	00000400h
WSB_PROP_PALETTE	EQU	00000800h
WSB_PROP_MASK	EQU	00000FFFh
FSB_FLAT_MODE	EQU	2
FSB_ENCARTA_MODE	EQU	1
FSB_REGULAR_MODE	EQU	0
@DefProto WINCOMMCTRLAPI, FlatSB_EnableScrollBar, stdcall, , <:HWND, :DWORD, :DWORD>, 12
@DefProto WINCOMMCTRLAPI, FlatSB_ShowScrollBar, stdcall, , <:HWND, :DWORD, :BOOL>, 12
@DefProto WINCOMMCTRLAPI, FlatSB_GetScrollRange, stdcall, , <:HWND, :DWORD, :LPINT, :LPINT>, 16
@DefProto WINCOMMCTRLAPI, FlatSB_GetScrollInfo, stdcall, , <:HWND, :DWORD, :LPSCROLLINFO>, 12
@DefProto WINCOMMCTRLAPI, FlatSB_GetScrollPos, stdcall, , <:HWND, :DWORD>, 8
@DefProto WINCOMMCTRLAPI, FlatSB_GetScrollProp, stdcall, , <:HWND, :DWORD, :LPINT>, 12
ifdef _WIN64
@DefProto WINCOMMCTRLAPI, FlatSB_GetScrollPropPtr, stdcall, , <:HWND, :DWORD, :PINT_PTR>, 12
else 
FlatSB_GetScrollPropPtr	EQU	<FlatSB_GetScrollProp>
endif 
@DefProto WINCOMMCTRLAPI, FlatSB_SetScrollPos, stdcall, , <:HWND, :DWORD, :DWORD, :BOOL>, 16
@DefProto WINCOMMCTRLAPI, FlatSB_SetScrollInfo, stdcall, , <:HWND, :DWORD, :LPSCROLLINFO, :BOOL>, 16
@DefProto WINCOMMCTRLAPI, FlatSB_SetScrollRange, stdcall, , <:HWND, :DWORD, :DWORD, :DWORD, :BOOL>, 20
@DefProto WINCOMMCTRLAPI, FlatSB_SetScrollProp, stdcall, , <:HWND, :DWORD, :INT_PTR, :BOOL>, 16
FlatSB_SetScrollPropPtr	EQU	<FlatSB_SetScrollProp>
@DefProto WINCOMMCTRLAPI, InitializeFlatSB, stdcall, , <:HWND>, 4
@DefProto WINCOMMCTRLAPI, UninitializeFlatSB, stdcall, , <:HWND>, 4
endif 
endif 
endif 
endif 
if (_WIN32_WINNT ge 501h)
proto_SUBCLASSPROC typedef proto WINSTDCALLCONV :HWND,:DWORD,:WPARAM,:LPARAM,:UINT_PTR,:DWORD_PTR
SUBCLASSPROC typedef ptr proto_SUBCLASSPROC
SetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :DWORD_PTR
GetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :ptr DWORD_PTR
RemoveWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR
DefSubclassProc proto WINSTDCALLCONV :HWND, :DWORD, :WPARAM, :LPARAM
endif 
if (_WIN32_WINNT ge 501h)
DrawShadowText proto WINSTDCALLCONV :HDC, :LPWSTR, :DWORD, :ptr RECT, :DWORD, :COLORREF, :COLORREF, :DWORD, :DWORD
endif 
if 0 eq defined(RC_INVOKED)
if ISOLATION_AWARE_ENABLED
if 0 eq defined(ISOLATION_AWARE_INLINE)
if defined(__cplusplus)
ISOLATION_AWARE_INLINE	EQU	<inline>
else 
ISOLATION_AWARE_INLINE	EQU	<__inline>
endif 
endif 
CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL proto WINSTDCALLCONV :LPSTR
IsolationAwareInitCommonControls proto WINSTDCALLCONV
IsolationAwareInitCommonControlsEx proto WINSTDCALLCONV :LPINITCOMMONCONTROLSEX
IsolationAwareImageList_Create proto WINSTDCALLCONV :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Destroy proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_GetImageCount proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_SetImageCount proto WINSTDCALLCONV :HIMAGELIST, :DWORD
IsolationAwareImageList_Add proto WINSTDCALLCONV :HIMAGELIST, :HBITMAP, :HBITMAP
IsolationAwareImageList_ReplaceIcon proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HICON
IsolationAwareImageList_SetBkColor proto WINSTDCALLCONV :HIMAGELIST, :COLORREF
IsolationAwareImageList_GetBkColor proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_SetOverlayImage proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_Draw proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Replace proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HBITMAP, :HBITMAP
IsolationAwareImageList_AddMasked proto WINSTDCALLCONV :HIMAGELIST, :HBITMAP, :COLORREF
IsolationAwareImageList_DrawEx proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD, :DWORD, :COLORREF, :COLORREF, :DWORD
IsolationAwareImageList_DrawIndirect proto WINSTDCALLCONV :ptr IMAGELISTDRAWPARAMS
IsolationAwareImageList_Remove proto WINSTDCALLCONV :HIMAGELIST, :DWORD
IsolationAwareImageList_GetIcon proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_LoadImageA proto WINSTDCALLCONV :HINSTANCE, :LPSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
IsolationAwareImageList_LoadImageW proto WINSTDCALLCONV :HINSTANCE, :LPWSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
IsolationAwareImageList_Copy proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_BeginDrag proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_EndDrag proto WINSTDCALLCONV 
IsolationAwareImageList_DragEnter proto WINSTDCALLCONV :HWND, :DWORD, :DWORD
IsolationAwareImageList_DragLeave proto WINSTDCALLCONV :HWND
IsolationAwareImageList_DragMove proto WINSTDCALLCONV :DWORD, :DWORD
IsolationAwareImageList_SetDragCursorImage proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_DragShowNolock proto WINSTDCALLCONV :BOOL
IsolationAwareImageList_GetDragImage proto WINSTDCALLCONV :ptr POINT, :ptr POINT
if defined(__IStream_INTERFACE_DEFINED__)
IsolationAwareImageList_Read proto WINSTDCALLCONV :LPSTREAM
IsolationAwareImageList_Write proto WINSTDCALLCONV :HIMAGELIST, :LPSTREAM
if defined(__IStream_INTERFACE_DEFINED__) AND (_WIN32_WINNT ge 0501h)
IsolationAwareImageList_ReadEx proto WINSTDCALLCONV :DWORD, :LPSTREAM, :REFIID, :ptr PVOID
IsolationAwareImageList_WriteEx proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :LPSTREAM
endif 
endif 
IsolationAwareImageList_GetIconSize proto WINSTDCALLCONV :HIMAGELIST, :ptr DWORD, :ptr DWORD
IsolationAwareImageList_SetIconSize proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_GetImageInfo proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :ptr IMAGEINFO
IsolationAwareImageList_Merge proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Duplicate proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareCreateToolbarEx proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :DWORD, :HINSTANCE, :UINT_PTR, :LPCTBBUTTON, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
IsolationAwareCreateMappedBitmap proto WINSTDCALLCONV :HINSTANCE, :INT_PTR, :DWORD, :LPCOLORMAP, :DWORD
IsolationAwareDrawStatusTextA proto WINSTDCALLCONV :HDC, :LPRECT, :LPSTR, :DWORD
IsolationAwareDrawStatusTextW proto WINSTDCALLCONV :HDC, :LPRECT, :LPWSTR, :DWORD
IsolationAwareCreateStatusWindowA proto WINSTDCALLCONV :SDWORD, :LPSTR, :HWND, :DWORD
IsolationAwareCreateStatusWindowW proto WINSTDCALLCONV :SDWORD, :LPWSTR, :HWND, :DWORD
IsolationAwareMenuHelp proto WINSTDCALLCONV :DWORD, :WPARAM, :LPARAM, :HMENU, :HINSTANCE, :HWND, :ptr DWORD
IsolationAwareShowHideMenuCtl proto WINSTDCALLCONV :HWND, :UINT_PTR, :LPINT
IsolationAwareGetEffectiveClientRect proto WINSTDCALLCONV :HWND, :LPRECT, :LPINT
IsolationAwareMakeDragList proto WINSTDCALLCONV :HWND
IsolationAwareDrawInsert proto WINSTDCALLCONV :HWND, :HWND, :DWORD
IsolationAwareLBItemFromPt proto WINSTDCALLCONV :HWND, :POINT, :BOOL
IsolationAwareCreateUpDownControl proto WINSTDCALLCONV :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :HWND, :DWORD, :HINSTANCE, :HWND, :DWORD, :DWORD, :DWORD
IsolationAwareInitMUILanguage proto WINSTDCALLCONV :LANGID
IsolationAwareGetMUILanguage proto WINSTDCALLCONV 
if 0 eq defined(NOTRACKMOUSEEVENT)
IsolationAware_TrackMouseEvent proto WINSTDCALLCONV :LPTRACKMOUSEEVENT
endif 
IsolationAwareFlatSB_EnableScrollBar proto WINSTDCALLCONV :HWND, :DWORD, :DWORD
IsolationAwareFlatSB_ShowScrollBar proto WINSTDCALLCONV :HWND, :DWORD, :BOOL
IsolationAwareFlatSB_GetScrollRange proto WINSTDCALLCONV :HWND, :DWORD, :LPINT, :LPINT
IsolationAwareFlatSB_GetScrollInfo proto WINSTDCALLCONV :HWND, :DWORD, :LPSCROLLINFO
IsolationAwareFlatSB_GetScrollPos proto WINSTDCALLCONV :HWND, :DWORD
IsolationAwareFlatSB_GetScrollProp proto WINSTDCALLCONV :HWND, :DWORD, :LPINT
IsolationAwareFlatSB_GetScrollPropPtr proto WINSTDCALLCONV :HWND, :DWORD, :PINT_PTR
IsolationAwareFlatSB_SetScrollPos proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :BOOL
IsolationAwareFlatSB_SetScrollInfo proto WINSTDCALLCONV :HWND, :DWORD, :LPSCROLLINFO, :BOOL
IsolationAwareFlatSB_SetScrollRange proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :DWORD, :BOOL
IsolationAwareFlatSB_SetScrollProp proto WINSTDCALLCONV :HWND, :DWORD, :INT_PTR, :BOOL
IsolationAwareInitializeFlatSB proto WINSTDCALLCONV :HWND
IsolationAwareUninitializeFlatSB proto WINSTDCALLCONV :HWND
if (_WIN32_IE ge 560h)
IsolationAwareSetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :DWORD_PTR
IsolationAwareGetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :ptr DWORD_PTR
IsolationAwareRemoveWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR
endif 
IsolationAwareDefSubclassProc proto WINSTDCALLCONV :HWND, :DWORD, :WPARAM, :LPARAM
IsolationAwareDrawShadowText proto WINSTDCALLCONV :HDC, :LPWSTR, :DWORD, :ptr RECT, :DWORD, :COLORREF, :COLORREF, :DWORD, :DWORD
if defined(UNICODE)
IsolationAwareCreateStatusWindow	EQU	<IsolationAwareCreateStatusWindowW>
IsolationAwareDrawStatusText	EQU	<IsolationAwareDrawStatusTextW>
IsolationAwareImageList_LoadImage	EQU	<IsolationAwareImageList_LoadImageW>
else 
IsolationAwareCreateStatusWindow	EQU	<IsolationAwareCreateStatusWindowA>
IsolationAwareDrawStatusText	EQU	<IsolationAwareDrawStatusTextA>
IsolationAwareImageList_LoadImage	EQU	<IsolationAwareImageList_LoadImageA>
endif 
IsolationAwareInitCommonControls proto WINSTDCALLCONV 
IsolationAwareInitCommonControlsEx proto WINSTDCALLCONV :LPINITCOMMONCONTROLSEX
IsolationAwareImageList_Create proto WINSTDCALLCONV :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Destroy proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_GetImageCount proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_SetImageCount proto WINSTDCALLCONV :HIMAGELIST, :DWORD
IsolationAwareImageList_Add proto WINSTDCALLCONV :HIMAGELIST, :HBITMAP, :HBITMAP
IsolationAwareImageList_ReplaceIcon proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HICON
IsolationAwareImageList_SetBkColor proto WINSTDCALLCONV :HIMAGELIST, :COLORREF
IsolationAwareImageList_GetBkColor proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareImageList_SetOverlayImage proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_Draw proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Replace proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HBITMAP, :HBITMAP
IsolationAwareImageList_AddMasked proto WINSTDCALLCONV :HIMAGELIST, :HBITMAP, :COLORREF
IsolationAwareImageList_DrawEx proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HDC, :DWORD, :DWORD, :DWORD, :DWORD, :COLORREF, :COLORREF, :DWORD
IsolationAwareImageList_DrawIndirect proto WINSTDCALLCONV :ptr IMAGELISTDRAWPARAMS
IsolationAwareImageList_Remove proto WINSTDCALLCONV :HIMAGELIST, :DWORD
IsolationAwareImageList_GetIcon proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_LoadImageA proto WINSTDCALLCONV :HINSTANCE, :LPSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
IsolationAwareImageList_LoadImageW proto WINSTDCALLCONV :HINSTANCE, :LPWSTR, :DWORD, :DWORD, :COLORREF, :DWORD, :DWORD
IsolationAwareImageList_Copy proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_BeginDrag proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_EndDrag proto WINSTDCALLCONV 
IsolationAwareImageList_DragEnter proto WINSTDCALLCONV :HWND, :DWORD, :DWORD
IsolationAwareImageList_DragLeave proto WINSTDCALLCONV :HWND
IsolationAwareImageList_DragMove proto WINSTDCALLCONV :DWORD, :DWORD
IsolationAwareImageList_SetDragCursorImage proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_DragShowNolock proto WINSTDCALLCONV :BOOL
IsolationAwareImageList_GetDragImage proto WINSTDCALLCONV :ptr POINT, :ptr POINT
if defined(__IStream_INTERFACE_DEFINED__)
IsolationAwareImageList_Read proto WINSTDCALLCONV :LPSTREAM
IsolationAwareImageList_Write proto WINSTDCALLCONV :HIMAGELIST, :LPSTREAM
if defined(__IStream_INTERFACE_DEFINED__) AND (_WIN32_WINNT ge 0501h)
IsolationAwareImageList_ReadEx proto WINSTDCALLCONV :DWORD, :LPSTREAM, :REFIID, :ptr PVOID
IsolationAwareImageList_WriteEx proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :LPSTREAM
endif 
endif 
IsolationAwareImageList_GetIconSize proto WINSTDCALLCONV :HIMAGELIST, :ptr DWORD, :ptr DWORD
IsolationAwareImageList_SetIconSize proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :DWORD
IsolationAwareImageList_GetImageInfo proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :ptr IMAGEINFO
IsolationAwareImageList_Merge proto WINSTDCALLCONV :HIMAGELIST, :DWORD, :HIMAGELIST, :DWORD, :DWORD, :DWORD
IsolationAwareImageList_Duplicate proto WINSTDCALLCONV :HIMAGELIST
IsolationAwareCreateToolbarEx proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :DWORD, :HINSTANCE, :UINT_PTR, :LPCTBBUTTON, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :DWORD
IsolationAwareCreateMappedBitmap proto WINSTDCALLCONV :HINSTANCE, :INT_PTR, :DWORD, :LPCOLORMAP, :DWORD
IsolationAwareDrawStatusTextA proto WINSTDCALLCONV :HDC, :LPRECT, :LPSTR, :DWORD
IsolationAwareDrawStatusTextW proto WINSTDCALLCONV :HDC, :LPRECT, :LPWSTR, :DWORD
IsolationAwareCreateStatusWindowA proto WINSTDCALLCONV :SDWORD, :LPSTR, :HWND, :DWORD
IsolationAwareCreateStatusWindowW proto WINSTDCALLCONV :SDWORD, :LPWSTR, :HWND, :DWORD
IsolationAwareMenuHelp proto WINSTDCALLCONV :DWORD, :WPARAM, :LPARAM, :HMENU, :HINSTANCE, :HWND, :ptr DWORD
IsolationAwareShowHideMenuCtl proto WINSTDCALLCONV :HWND, :UINT_PTR, :LPINT
IsolationAwareGetEffectiveClientRect proto WINSTDCALLCONV :HWND, :LPRECT, :LPINT
IsolationAwareMakeDragList proto WINSTDCALLCONV :HWND
IsolationAwareDrawInsert proto WINSTDCALLCONV :HWND, :HWND, :DWORD
IsolationAwareLBItemFromPt proto WINSTDCALLCONV :HWND, :POINT, :BOOL
IsolationAwareCreateUpDownControl proto WINSTDCALLCONV :DWORD, :DWORD, :DWORD, :DWORD, :DWORD, :HWND, :DWORD, :HINSTANCE, :HWND, :DWORD, :DWORD, :DWORD
IsolationAwareInitMUILanguage proto WINSTDCALLCONV :LANGID
IsolationAwareGetMUILanguage proto WINSTDCALLCONV 
if 0 eq defined(NOTRACKMOUSEEVENT)
IsolationAware_TrackMouseEvent proto WINSTDCALLCONV :LPTRACKMOUSEEVENT
endif 
IsolationAwareFlatSB_EnableScrollBar proto WINSTDCALLCONV :HWND, :DWORD, :DWORD
IsolationAwareFlatSB_ShowScrollBar proto WINSTDCALLCONV :HWND, :DWORD, :BOOL
IsolationAwareFlatSB_GetScrollRange proto WINSTDCALLCONV :HWND, :DWORD, :LPINT, :LPINT
IsolationAwareFlatSB_GetScrollInfo proto WINSTDCALLCONV :HWND, :DWORD, :LPSCROLLINFO
IsolationAwareFlatSB_GetScrollPos proto WINSTDCALLCONV :HWND, :DWORD
IsolationAwareFlatSB_GetScrollProp proto WINSTDCALLCONV :HWND, :DWORD, :LPINT
IsolationAwareFlatSB_GetScrollPropPtr proto WINSTDCALLCONV :HWND, :DWORD, :PINT_PTR
if defined(_WIN64)
else 
endif 
IsolationAwareFlatSB_SetScrollPos proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :BOOL
IsolationAwareFlatSB_SetScrollInfo proto WINSTDCALLCONV :HWND, :DWORD, :LPSCROLLINFO, :BOOL
IsolationAwareFlatSB_SetScrollRange proto WINSTDCALLCONV :HWND, :DWORD, :DWORD, :DWORD, :BOOL
IsolationAwareFlatSB_SetScrollProp proto WINSTDCALLCONV :HWND, :DWORD, :INT_PTR, :BOOL
IsolationAwareInitializeFlatSB proto WINSTDCALLCONV :HWND
IsolationAwareUninitializeFlatSB proto WINSTDCALLCONV :HWND
if (_WIN32_IE ge 560h)
IsolationAwareSetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :DWORD
IsolationAwareGetWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR, :ptr DWORD
IsolationAwareRemoveWindowSubclass proto WINSTDCALLCONV :HWND, :SUBCLASSPROC, :UINT_PTR
endif 
IsolationAwareDefSubclassProc proto WINSTDCALLCONV :HWND, :DWORD, :WPARAM, :LPARAM
IsolationAwareDrawShadowText proto WINSTDCALLCONV :HDC, :LPWSTR, :DWORD, :ptr RECT, :DWORD, :COLORREF, :COLORREF, :DWORD, :DWORD
CommctrlIsolationAwarePrivatetEgCebCnDDeEff_pbMCgLDC_DLL proto WINSTDCALLCONV :LPSTR
CreateMappedBitmap	EQU	<IsolationAwareCreateMappedBitmap>
CreateStatusWindowA	EQU	<IsolationAwareCreateStatusWindowA>
CreateStatusWindowW	EQU	<IsolationAwareCreateStatusWindowW>
CreateToolbarEx	EQU	<IsolationAwareCreateToolbarEx>
CreateUpDownControl	EQU	<IsolationAwareCreateUpDownControl>
DefSubclassProc	EQU	<IsolationAwareDefSubclassProc>
DrawInsert	EQU	<IsolationAwareDrawInsert>
DrawShadowText	EQU	<IsolationAwareDrawShadowText>
DrawStatusTextA	EQU	<IsolationAwareDrawStatusTextA>
DrawStatusTextW	EQU	<IsolationAwareDrawStatusTextW>
FlatSB_EnableScrollBar	EQU	<IsolationAwareFlatSB_EnableScrollBar>
FlatSB_GetScrollInfo	EQU	<IsolationAwareFlatSB_GetScrollInfo>
FlatSB_GetScrollPos	EQU	<IsolationAwareFlatSB_GetScrollPos>
FlatSB_GetScrollProp	EQU	<IsolationAwareFlatSB_GetScrollProp>
if defined(FlatSB_GetScrollPropPtr)
;#undef FlatSB_GetScrollPropPtr 
endif 
FlatSB_GetScrollPropPtr	EQU	<IsolationAwareFlatSB_GetScrollPropPtr>
FlatSB_GetScrollRange	EQU	<IsolationAwareFlatSB_GetScrollRange>
FlatSB_SetScrollInfo	EQU	<IsolationAwareFlatSB_SetScrollInfo>
FlatSB_SetScrollPos	EQU	<IsolationAwareFlatSB_SetScrollPos>
FlatSB_SetScrollProp	EQU	<IsolationAwareFlatSB_SetScrollProp>
FlatSB_SetScrollRange	EQU	<IsolationAwareFlatSB_SetScrollRange>
FlatSB_ShowScrollBar	EQU	<IsolationAwareFlatSB_ShowScrollBar>
GetEffectiveClientRect	EQU	<IsolationAwareGetEffectiveClientRect>
GetMUILanguage	EQU	<IsolationAwareGetMUILanguage>
GetWindowSubclass	EQU	<IsolationAwareGetWindowSubclass>
ImageList_Add	EQU	<IsolationAwareImageList_Add>
ImageList_AddMasked	EQU	<IsolationAwareImageList_AddMasked>
ImageList_BeginDrag	EQU	<IsolationAwareImageList_BeginDrag>
ImageList_Copy	EQU	<IsolationAwareImageList_Copy>
ImageList_Create	EQU	<IsolationAwareImageList_Create>
ImageList_Destroy	EQU	<IsolationAwareImageList_Destroy>
ImageList_DragEnter	EQU	<IsolationAwareImageList_DragEnter>
ImageList_DragLeave	EQU	<IsolationAwareImageList_DragLeave>
ImageList_DragMove	EQU	<IsolationAwareImageList_DragMove>
ImageList_DragShowNolock	EQU	<IsolationAwareImageList_DragShowNolock>
ImageList_Draw	EQU	<IsolationAwareImageList_Draw>
ImageList_DrawEx	EQU	<IsolationAwareImageList_DrawEx>
ImageList_DrawIndirect	EQU	<IsolationAwareImageList_DrawIndirect>
ImageList_Duplicate	EQU	<IsolationAwareImageList_Duplicate>
ImageList_EndDrag	EQU	<IsolationAwareImageList_EndDrag>
ImageList_GetBkColor	EQU	<IsolationAwareImageList_GetBkColor>
ImageList_GetDragImage	EQU	<IsolationAwareImageList_GetDragImage>
ImageList_GetIcon	EQU	<IsolationAwareImageList_GetIcon>
ImageList_GetIconSize	EQU	<IsolationAwareImageList_GetIconSize>
ImageList_GetImageCount	EQU	<IsolationAwareImageList_GetImageCount>
ImageList_GetImageInfo	EQU	<IsolationAwareImageList_GetImageInfo>
ImageList_LoadImageA	EQU	<IsolationAwareImageList_LoadImageA>
ImageList_LoadImageW	EQU	<IsolationAwareImageList_LoadImageW>
ImageList_Merge	EQU	<IsolationAwareImageList_Merge>
ImageList_Read	EQU	<IsolationAwareImageList_Read>
ImageList_ReadEx	EQU	<IsolationAwareImageList_ReadEx>
ImageList_Remove	EQU	<IsolationAwareImageList_Remove>
ImageList_Replace	EQU	<IsolationAwareImageList_Replace>
ImageList_ReplaceIcon	EQU	<IsolationAwareImageList_ReplaceIcon>
ImageList_SetBkColor	EQU	<IsolationAwareImageList_SetBkColor>
ImageList_SetDragCursorImage	EQU	<IsolationAwareImageList_SetDragCursorImage>
ImageList_SetIconSize	EQU	<IsolationAwareImageList_SetIconSize>
ImageList_SetImageCount	EQU	<IsolationAwareImageList_SetImageCount>
ImageList_SetOverlayImage	EQU	<IsolationAwareImageList_SetOverlayImage>
ImageList_Write	EQU	<IsolationAwareImageList_Write>
ImageList_WriteEx	EQU	<IsolationAwareImageList_WriteEx>
InitCommonControls	EQU	<IsolationAwareInitCommonControls>
InitCommonControlsEx	EQU	<IsolationAwareInitCommonControlsEx>
InitMUILanguage	EQU	<IsolationAwareInitMUILanguage>
InitializeFlatSB	EQU	<IsolationAwareInitializeFlatSB>
LBItemFromPt	EQU	<IsolationAwareLBItemFromPt>
MakeDragList	EQU	<IsolationAwareMakeDragList>
MenuHelp	EQU	<IsolationAwareMenuHelp>
RemoveWindowSubclass	EQU	<IsolationAwareRemoveWindowSubclass>
SetWindowSubclass	EQU	<IsolationAwareSetWindowSubclass>
ShowHideMenuCtl	EQU	<IsolationAwareShowHideMenuCtl>
UninitializeFlatSB	EQU	<IsolationAwareUninitializeFlatSB>
_TrackMouseEvent	EQU	<IsolationAware_TrackMouseEvent>
endif 
endif 
ifdef __cplusplus
;}
endif 
endif 
endif 

;--- errors: 0
;--- end of file ---
